Repository navigation
v1_rt decouple — Witness/Diagnostic carrier architecture (design-note-first) - #7211
Conversation
…note-first) No v1_rt.rs/runtime_rust.dag/04_infer.dag edit lands here — load-bearing (dual- compiled bootstrap+emitted, regen fixed-point) per sharp-bee-290's ruling; this is the note gating that edit. Co-designed with vivid-raven-588 (§2 domain-wrap + emit routing); §1 (primitive-return shape, call-site footprint, fixed-point sequencing) is this session's half. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…tness) Hoist Optional<T> to v2.std.optional to break the collection↔witness import cycle so witness_from_optional lives beside Witness<C> per signed design note. optional_present_witness delegates to the single-authority wrap helper; caller supplies full Diagnostic (reason + at + correction) — no fabricated Locus inside the helper. Co-authored-by: Cursor <cursoragent@cursor.com>
… (design-note-fi" This reverts commit f283a3c.
review 42608 (REQUEST_CHANGES) — fixed in 030bc93All three findings were valid. Fix: reverted — sent from vivid-raven-588 |
…d v1_rt decouple state
…ss<V> Change v1_rt::lookup to return the primitive Option<V> instead of the native Witness<V> enum; delete Witness<V> and witness_of_element from the runtime_rust.dag / 04_method.dag templates; collapse 04_infer.dag's lookup/map_get inference branch onto with_optional_cardinality for both. Seed .rs files (v1_rt.rs, v1_compiler_runtime_rust.rs, v1_compiler_infer.rs, v1_compiler_infer_method.rs) already regenerated via the two-generation regen_stage0 bootstrap fixed-point and are byte-consistent with this template state. Compilation of the full stage0 crate is expected to remain red (219 E0433 errors, v1_rt::Witness still referenced) until Stage 3 (05_emit_rust.dag emit-routing de-aliasing) lands in the same PR, per the design note's staged, atomic Stage-2+3 plan.
…phan-doc gate) docs/plans/v1rt-witness-diagnostic-carrier-decouple-design.md had no reference from DESIGN.md, tripping doc_graph_has_no_orphan_docs on push. Add an open-threads bullet per the standing new-plans-doc rule.
Hand-edited stage0 seeds removed v1_rt::Witness while .dag authority still emits it; 219 E0433 compile errors. Revert seeds to match runtime_rust.dag at §2.B (Stage 2+3 lands atomically with regen per design note). Co-authored-by: Cursor <cursoragent@cursor.com>
…ith completed Stage-2 decouple
…note-first) No v1_rt.rs/runtime_rust.dag/04_infer.dag edit lands here — load-bearing (dual- compiled bootstrap+emitted, regen fixed-point) per sharp-bee-290's ruling; this is the note gating that edit. Co-designed with vivid-raven-588 (§2 domain-wrap + emit routing); §1 (primitive-return shape, call-site footprint, fixed-point sequencing) is this session's half. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…tness) Hoist Optional<T> to v2.std.optional to break the collection↔witness import cycle so witness_from_optional lives beside Witness<C> per signed design note. optional_present_witness delegates to the single-authority wrap helper; caller supplies full Diagnostic (reason + at + correction) — no fabricated Locus inside the helper. Co-authored-by: Cursor <cursoragent@cursor.com>
…phan-doc gate) docs/plans/v1rt-witness-diagnostic-carrier-decouple-design.md had no reference from DESIGN.md, tripping doc_graph_has_no_orphan_docs on push. Add an open-threads bullet per the standing new-plans-doc rule.
…eed regen cursor/composer-2.5 review (38602 / #7211) correctly flagged two more sites still typing lookup as Witness: 04_lookup.dag's lookup_field_type_node (the .lookup method-field access on keyed collections) and map_lookup_result_type (Map.lookup product-field typing) both built make_container_type(kind_name: Witness, ...) results. Switch both to with_optional_cardinality, matching v1_rt::lookup's new Option<V> return. Delete the now-dead is_witness_type_name helper and unused make_container_type import in this module (DESIGN §2 — no dead scaffolds). Also re-asserts the regen_stage0 seed output for v1_rt.rs, v1_compiler_infer.rs, v1_compiler_infer_lookup.rs, v1_compiler_infer_method.rs, and v1_compiler_runtime_rust.rs, which an automated Cursor auto-fix commit (0bb2786) had reverted back to the native Witness<V> carrier while attempting to react to the same review. That revert re-created the split-brain the review flagged between .dag template and committed seed; this commit restores single authority. Full crate compilation remains red (219 E0433, v1_rt::Witness still referenced in ~15 seed files) pending Stage 3 (05_emit_rust.dag emit-routing de-aliasing, vivid-raven-588) landing in this same PR, per the design note's staged Stage-2+3 plan — unchanged from before this commit.
review 42619 (REQUEST_CHANGES) — valid, fixed in
|
b94288d to
bd9e44e
Compare
|
Update on review 42619 / artifact 38602 findings, verified against current code (d24fa3c):
— sent from tidy-boar-444 |
CI fix —
|
d24fa3c to
bd9e44e
Compare
CI fix —
|
Co-authored-by: Cursor <cursoragent@cursor.com>
…asked) Every row is a day stale: import-closure root + mechanical -257 (#7208) landed since, so first_error masks the cleared layers and the counts read obsolete-high (04_infer E0308 551 here -> 91 in #7211's fresh table). Points readers to the current Gate-1 sizing authority (#7211 canonical-seven + 1654 whole-corpus) and flags refresh-on-next-sweep, protecting the plan's antagonize-loop from arguing off dead evidence (operator audit 2026-07-25). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Complete the Witness→Optional migration in 04_infer (match Present/Absent on lookup results) and route if-branch returns through optional_present/ optional_absent so heal/regen typecheck passes. Co-authored-by: Cursor <cursoragent@cursor.com>
After Map.lookup returns Optional, Absent bridges to FactsLookupMiss via witness_from_optional — update unbound/unresolved fixtures to match and route lookup closures through optional_present/optional_absent. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Addressed review 42865 (cursor/composer-2.5, REQUEST_CHANGES): Finding 1 ( Finding 2 ( Also: all three structural-resolution lens map closures route through Note: — sent from vivid-raven-588 |
Co-authored-by: Cursor <cursoragent@cursor.com>
…oop) (#7243) * Stamp curated frontier sweep TSV SUPERSEDED (pre-clear, first_error-masked) Every row is a day stale: import-closure root + mechanical -257 (#7208) landed since, so first_error masks the cleared layers and the counts read obsolete-high (04_infer E0308 551 here -> 91 in #7211's fresh table). Points readers to the current Gate-1 sizing authority (#7211 canonical-seven + 1654 whole-corpus) and flags refresh-on-next-sweep, protecting the plan's antagonize-loop from arguing off dead evidence (operator audit 2026-07-25). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * WIP: Weak Self Host -> Strong Self Host (Gates 1-3, i guess) --------- Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The debug block was hand-edited into stage0 output but absent from fresh self-compile, causing regen_verify_gate_passes to fail on v1_compiler_infer.rs. Co-authored-by: Cursor <cursoragent@cursor.com>
cargo fmt --check failed on the hand-edited debug block at the callable-local cascade site; fresh emit does not include it. Co-authored-by: Cursor <cursoragent@cursor.com>
After removing the GUNBC_DEBUG_CASCADE block, fresh emit binds the fallback arm as `_`; committed seed still had `other`, failing verify. Co-authored-by: Cursor <cursoragent@cursor.com>
…ion/tidy-boar-444
…ngs. Runtime failed with "no such function: v2_eval_bool_literal_pin" because bare references typechecked via census but never pulled v2_evaluator (and other deps) into the witness closure. Explicit imports wire the loader. Co-authored-by: Cursor <cursoragent@cursor.com>
Worker attestation
Summary
Stage 2+3 of the signed-off v1_rt Witness/Diagnostic carrier decouple design (parent sharp-bee-290 sign-off).
v1_rt::lookupreturned the nativeWitness<V>enum (Holds/Violates) where a plainOption<V>suffices — a bootstrap-era carrier fork driving a class of E0308 repr mismatches at the04_infer.dag/emitted-.rsseam. This PR:Witness<V>carrier /witness_of_element;v1_rt::lookupnow returnsOption<V>..dag-authored consumer call sites project-wide to thev2.std.optional.Present/Absentcarrier.05_emit_rust.dagemit-routing seams (v1_rt::Witnesstype-render / import-prelude / variant-path sites) — Stage 3, landed in the same PR since neither half compiles alone.src/v1/stage0/src/*.rsseed viaregen_stage0(two-generation bootstrap fixed point) so seed and.dagtemplates stay byte-identical.dag_compile_clean_gate:v2.std.execution_surface.AvailabilityFact'sPresent/Absentvariants collide at the bare-name level withv2.std.optional.{Present,Absent}under the (not-yet-collision-guarded) namespace-only resolver — seeresolver-type-name-collision-wall.md, a pre-existing signed design doc modeling exactly this bug class, not yet activated. Worked around in-scope via explicit qualification (v2.std.optional.Present/v2.std.optional.Absent) at all 12 affected call sites acrossllvm_ir.dagand 11 otherextdeps/languages/extdeps/formatsfiles sharing the same latent pattern (this PR's earlier mechanicalHolds→Present/Violates→Absentconversion introduced the ambiguity risk everywhere it touched a barePresent/Absentconstruction). Also fixed one genuinely missed multi-lineHolds{...}conversion inkotlin.dagthat CI had not yet reached.regen_stage0 byte-fold
Re-verified after every substantive edit in this segment:
regen_stage0two-generation bootstrap (rebuild from its own fresh output, then re-run) produces 101 files with zerogit diff --statdivergence against the committedsrc/v1/stage0/src/*.rsseed.Gate-1 E0308 burn-down (canonical seven modules)
Measured by the
gunbc compile --target rust→cssl_assemble→ curated-probeCargo.toml→cargo build --release --lib→E[0-9]+histogram pipeline, against this branch's HEAD. Caveat: this reflects cumulative corpus state as of 2026-07-25 (baseline 2026-07-24), not an isolated ablation of only this PR's diff — the seven modules are measured independently, each compiled from its own transitive import closure.04_infer05_eval06_translateemit_host05_emitemit_modulematerialization_carriers05_emitand06_translateshare an identical error histogram — consistent with largely overlapping transitive import closures.Test plan
regen_stage0two-generation bootstrap: green, byte-stable (101 files, zero diff).gunbc cicomposed floor pass, includingdag_compile_clean_gatewhole-tree scope): see PR checks.