Repository navigation
integration cycle 2: std_dup unlock + authoritative census + admission-note disposition (single merge point) - #6885
Merged
Merged
Conversation
FormalNonterminal and FormalTerminal ({ identity: Symbol }) now pass
rust_btree_set_element_ord_eligible and receive Ord derives, unblocking
04_infer and program_partition self-emit cargo probes.
Co-authored-by: Cursor <cursoragent@cursor.com>
…ived, fail-closed)
Homes the path⇄module binding on v2.compiler.source_authority as a
DERIVED-at-parse fact per docs/plans/module-identity-storage-binding-design.md §2.
- ModuleStorageProvenance = ParsedFromSource { artifact, span_index }
| ProducedByBehavior { producer } — zero-file produced modules are now
representable honestly instead of being excluded.
- ModuleStorageBinding / ModuleStorageIndex, reusing QualifiedName, Artifact,
SourceRootRef and SpanIndex (no new nickname, §3).
- Both projections: file -> module and module -> storage.
- Scope is the LIVE 1:1 binding; many-to-many is a named deferral (§6).
§5 fail-closed repair in v2.compiler.program_assembly: the Rejected arm of
qualified_name_from_module_node kept the root and left the index UNCHANGED,
so a module whose name could not be derived went silently invisible to every
downstream lookup — an absorbing fallback in drop form, its frequency zeroed
by construction. It now refuses with the located diagnostic.
Witnesses (green by execution, REDs verified discriminating by perturbation):
derivation from parse; path projection; duplicate-module refuses; underivable
name refuses; produced module has no storage.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…t/long witness lanes
Three fixes from review + CI.
1. Located refusal (cursor/composer-2.5). The name-derivation Rejected arm
discarded the derivation's diagnostics and substituted a port-level
source_authority_diagnostic — satisfying "typed" while destroying "located"
(§5 requires both), contradicting this PR's own notes, and diverging from the
sibling arm in program_assembly which forwards d. It now forwards d unchanged,
so one failure yields one diagnostic regardless of entry point.
2. Grammar prepare hoisted above the fold, mirroring
program_assembly_prepare_once_note. The derivation called parse_module per
read, re-validating the grammar K times over a K-module ingest; it now
prepares once and uses parse_module_prepared. Empty ingest is guarded so it
never pays the prepare for zero reads. Same cost-shape defect the assembly
fold already documents (§6 always-fix).
3. Witness lanes split per the operator 5-second rule (CI EvalBudgetExceeded:
4 witnesses at ~5002ms). Measured by differencing against the non-parsing
witness, parse-derived eval is ~13s — inherently over the fast-lane budget
even after fix 2. Per gunbc.ci_layer_roots long_lane_exclusion_note ("fast
receipts stay discovered, execution proofs live in long/"), the parse-derived
proofs move to src/v2/test/claim/long/, and the fast lane keeps NEW witnesses
that exercise the §5 construction wall over hand-built rows at zero parse
cost: duplicate-module refusal, its accept control, and the produced/zero-file
arm. Duplicate detection keys on module identity independently of provenance,
which is why the wall is provable without a parse.
All eight witnesses green by execution across both lanes.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…to std_dup bucket Re-probed all seven Gate-A candidates with CSSL_STD_SEED_LINK=1 on integration/sharp-bee-290. No cargo-green flips (baseline stays 6). #6868 Ord fix cleared btree_set_ord for 04_infer/program_partition; both now refuse on Witness std_dup alongside 01_tokenize. Four modules still refuse UNRESOLVED_CompilerError. Bank execution receipts in docs/probes/gate_a_reprobe_2026-07-19.tsv and tail_reprobe_2026-07-19.tsv. Co-authored-by: Cursor <cursoragent@cursor.com>
…robe TSVs Invocation metadata for std_dup fix lane: all 19 probes were raw-closure (CSSL_STD_SEED_LINK=1, shim_lib_rel empty — no lane shims passed). Co-authored-by: Cursor <cursoragent@cursor.com>
…never widens), provenance de-fork, stale note, KeySource import Review 39722 (claude, RC) three findings + review 39727 (cursor, RC) two findings, all verified: 1. §5 absorbing fallback in the witness-admission scanner: rewritten as per-form structural extraction that is fail-closed BOTH ways — every occurrence of a recognized row head (bin_wet, probe_red, self_host_wet_entry, SelfHostWetReceiptBinding) either parses to a key, is a verified definition/non-literal pass-through site, or PANICS with source label + byte offset; the catch-all entry/function loop (the widen arm that could silently excuse orphans) is DELETED. A consumer in an unrecognized form now surfaces as a loud orphan, never an absorbed excuse. Call sites carry source labels (the 39727 arity finding was the auto-WIP intermediate state; complete here). 2. §3 parallel authority (borderline per reviewer): the dissolve-on marker now names the tracked lane (module-binding supply-carrier pattern; host consumes emitted manifest rows) and the interim scan's fail-closed semantics. 3. §2 byte-identical provenance pair: source_ir_node_artifact_provenance_add_from_model + _add wrapper DELETED (pre-existing on main, not introduced by the wave — verified via git show origin/main); consumers repointed (edit_locus_resolver_test import + 2 calls, internal :627 site). Zero references remain. 4. Stale fork note in module_storage_binding_derivation_test updated: the qualified_name fork it described was dissolved in this wave (renamed apart); note now records the resolution. 5. Operator-requested: dag/std/realization.dag KeySource unlisted-import x3 (pre-existing main defect) fixed — KeySource added to the std.effects import list; source_authority closure compile-clean 3 -> 0 diagnostics. Receipts: cargo build release clean; admission unit tests 2/2 (witness_admission_deferred_rows_have_consumers, witness_admission_orphan_synthetic_row_refuses); module_storage_binding witnesses PASS; edit_locus_resolver witnesses PASS on the repointed name. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…nout, critical path (operator 2-week target) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…_ord, KeySource import fix cleared the whole unresolved bucket; ~19 modules now on the one std_dup fix Verified by execution at f071536: all 6 formerly-UNRESOLVED closures (00_compile, materialization_carriers, program_assembly, source_authority, 02_parse, 03_ingest) compile 0 diagnostics; re-probe TSVs (#6872) show 04_infer/program_partition emit clean with std_dup as sole refusal. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…etain Single assembly fix for the 13-module std_dup gate (calm-boar-697 census): - sanitize_witness_import_conflict matches `pub enum Witness<C>` (generic), stripping v1_rt::Witness prelude imports that collided with emitted enum - v2_std_* emit-retain instead of minimal bridge shims (broken dependents like v2_std_logic → v2_std_algebra re-exports) No emitter changes. Probes move past HARNESS_ARTIFACT_std_dup / E0255 on all Gate-A modules + tail representatives; next blockers surface as namespace gaps. Co-authored-by: Cursor <cursoragent@cursor.com>
CSSL_STD_SEED_LINK=1, shim_lib_rel empty, rebuilt cssl_assemble. std_dup E0255 cleared on 12/13; new namespace layer surfaces (FreeMonoid, ResolvedTree, InferredTree/InferredFacts). emit_produced: Optional std_dup residue. Harness invocation contract in probe script header. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… on main Rebased onto main post-#6866. Remaining delta: KeySource cargo-stage TSV, embedded-marker grep receipt, v1_deletion_plan corrections (13 std_dup vs 6 unresolved, ROOT-CAUSED emitter-gap, stern-lark-430 dispatched). Gate-A/tail frontier rows already landed via integration merge. Co-authored-by: Cursor <cursoragent@cursor.com>
…2_std emit-retain (proud-deer-857) 2 approvals (claude, cursor), no request-changes, at bar. Local fast gate: fmt check below. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…cation contract (calm-boar-697) 2 approvals (claude, cursor), no request-changes, at bar. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…dicates (review 39758 disposition) Phase 0(b) author closed out; disposition owned by sharp-bee-290 per the capture. Pattern matches target_value_expr_int_literal_predicate_dissolution_note. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ave unblocked Fold integration/sharp-bee-290 at 81dc2d9; update v1_deletion_plan lane_state to current truth (13+6 census retained, probe_flip_fanout unblocked pending emitter fixes). Co-authored-by: Cursor <cursoragent@cursor.com>
…-boar-697) 2 approvals (claude, cursor), CI green, at bar. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Second accumulation cycle on integration/sharp-bee-290 after #6866 merged (3da8a21).
Captured so far this cycle:
Queued behind their bars: #6867/#6882 (typed supply carrier + typed ensure-built, composite honesty repair in flight), #6880 (plan corrections, conflict resolution pending), #6877 (wrap-decision catalog, review re-fire pending), #6883 (assembly emit-retain follow-up, CI pending).
Kept DRAFT while the wave accumulates; flips ready at wave end per the established flow.
🤖 Generated with Claude Code