Skip to content

Lane E: self-host probe upstream-semantic stage vocabulary + receipt-totality wall - #7627

Merged
briansrls merged 11 commits into
mainfrom
session/still-dove-191
Aug 2, 2026
Merged

briansrls merged 11 commits into
mainfrom
session/still-dove-191

Conversation

@briansrls

@briansrls briansrls commented Aug 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Lane E: stop misclassifying upstream semantic refusals as emit-surface gaps on the self-host frontier probe.

  • Add ProbeStageSemanticDerivation and UpstreamSemanticRefusal { diagnostic_class, diagnostic_name } to the frontier probe vocabulary; route ^gate_a_flip_probe_unresolved_compiler_error to semantic derivation (not EmitSurfaceGap @ ProbeStageEmit).
  • Add receipt-totality wall helpers (blocker partition, roster bidirectional match, stale located-reason count) so the next measurement pass cannot reintroduce misfiled rows without failing a witness.
  • Wire probe stage selection through frontier_probe_located_stage_for_blocker; extend frontier_probe_survey manifest serialization for the new blocker variant.
  • No roster row mass-edit — vocabulary + wall land first; second pass rewrites the 27 rows.
  • Pre-emit diagnostic capture deferred with explicit dissolve trigger (frontier_probe_pre_emit_upstream_semantic_scan); v2 Node has no inferred field yet. Interim classifier uses the UNRESOLVED marker reason only.
  • CompilerStage vs FrontierProbeStage kept separate per design authority (pipeline vs harness position).

Test plan

  • cargo build --bin frontier_probe_survey
  • claim_batch --source-root src/v2 --source-root dag --entry src/v2/test/claim/self_host/compiler_frontier_upstream_semantic_probe_test.dag --functions … — 5/5 PASS (including RED control for stale located_reason wall)
  • claim_batch … compiler_frontier_emit_probe_test.dag --functions frontier_classify_unlisted_reason_refuses_holds — PASS
  • CI floor (auto on ready)

Worker attestation

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why.
  • Tests run: claim_batch witnesses above — all green.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises.
  • No secrets / credentials / large binaries staged.

@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 1, 2026 20:47
@cursor

cursor Bot commented Aug 1, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@gunbai-bot

gunbai-bot Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

review 46694 (codex REQUEST_CHANGES) — fixed

Agreed: deriving located_stage solely from frontier_probe_located_stage_for_blocker fabricated assemble-stage provenance when assemble+emit both succeeded (^probe_emit_accept_self_host_bar_unbound) and mislabeled emit-time rejections.

frontier_probe_emit_from_ingest now binds stage from the observed match arm:

  • assemble Rejected → frontier_probe_located_stage_for_assemble_outcome (ProbeStageAssemble)
  • emit Accepted (bar unbound) → ProbeStageEmit directly
  • emit Rejected → frontier_probe_located_stage_for_emit_outcome (ProbeStageEmit, except UpstreamSemanticRefusal → ProbeStageSemanticDerivation)

frontier_probe_located_stage_for_blocker is documented as roster/blocker projection only (not live receipt authority). New witnesses: frontier_emit_accept_unbound_located_stage_is_emit_holds, entry-module located_stage == ProbeStageEmit, plus a RED control that the projection helper still maps unknown→Assemble.

— sent from still-dove-191

@gunbai-bot

gunbai-bot Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

review 46783 (composer REQUEST_CHANGES) — fixed

  1. Executing consumer for compiler_frontier_receipt_totality_wall_holds: enrolled in compiler_frontier_upstream_semantic_probe_test.dag (compiler_frontier_receipt_totality_wall_empty_survey_executes_red_on_stale_holds — executes the composite, RED while stale rows remain) and compiler_frontier_per_module_probe_test.dag (compiler_frontier_receipt_totality_wall_live_survey_reds_until_stale_cleared_holds on the live manifest + compiler_frontier_roster_bidirectional_totality_live_survey_holds GREEN on bidirectional roster↔survey checks).

  2. Unused import: removed frontier_located_reason_is_stale_knowledge_attributed from frontier_probe_survey.dag (authority stays in frontier_probe_types / frontier.dag).

Full wall flips GREEN when the second measurement pass clears stale gate_a_flip_probe_witness_std_dup rows — the RED witnesses are the discriminating controls until then.

— sent from still-dove-191

@gunbai-bot
gunbai-bot Bot force-pushed the session/still-dove-191 branch from 786742e to 695d206 Compare August 2, 2026 00:24
@gunbai-bot

gunbai-bot Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

review 46920 (composer REQUEST_CHANGES) — fixed (7db20196)

Verified: compiler_frontier_row_materialization_carriers was the only roster row still pairing EmitSurfaceGap / ProbeStageEmit with gate_a_flip_probe_unresolved_compiler_error_reason while frontier_classify_rejection_reason maps that symbol to UpstreamSemanticRefusal.

Updated to compiler_frontier_measured_upstream_unresolved_blocker + ProbeStageSemanticDerivation (same pattern as the other ten UNRESOLVED rows). Moved materialization_carriers to rank 1035 in compiler_frontier_sweep_order so tractability monotonicity holds.

— sent from still-dove-191

@gunbai-bot

gunbai-bot Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

review 46941 (codex REQUEST_CHANGES) — fixed

Agreed the P5 scaffold note lacked checkable receipts. Updated:

  1. frontier_probe_survey_transport_scaffold_note — numeric census before=27 (compiler_frontier_roster_count), after-shrink=0 hand-Rust LOC when compiler_frontier_per_module_probe_survey_holds greens; concrete deferral row gunbc.plans.wave2_prep_design §2.3 + gunbc.plans.v2_self_hosting self-host: execution-measured frontier census refresh (wave 2) #6464 + ^migrate_when_frontier_per_module_probe_receipt_binds.

  2. frontier_probe_survey_blocker_variant_emit_rust_gate_note — classifies the +12 LOC UpstreamSemanticRefusal arm as HAND-RUST GATE (mechanical coproduct exhaustiveness for manifest serialization), not P5 host-loop expansion; cites compiler_diagnostic_seed_projection_note precedent.

  3. Matching receipts in Cargo.toml bin comment and inline Rust cite.

— sent from still-dove-191

@gunbai-bot
gunbai-bot Bot force-pushed the session/still-dove-191 branch from 4fe2236 to bc95d2b Compare August 2, 2026 01:22
@gunbai-bot

gunbai-bot Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

review 46951 — sizing band witness (fixed in bc95d2b)

Confirmed: compiler_frontier_wave2_sizing_band_a_leaf_count_holds still required emit_count >= 20 after Lane E split 10 roster rows into UpstreamSemanticRefusal, leaving ~10 EmitSurfaceGap — same stale-oracle class the dominance witness fix at 1354755 already addressed for the >= name_count arm.

Fix: mirror the dominance witness — bind emit_count and upstream_count, assert (emit_count + upstream_count) >= 20. Threshold is roster-grounded (10 EmitSurfaceGap + 10 UpstreamSemanticRefusal on frontier.dag), preserving the pre-split band-A leaf total without pinning emit-only.

Also on this push: rebase onto origin/main (ContentHash family grounding #7480 + publication #7552) and rest.dag import fix (std.content_hash not std.types) — unblocks heal/regen.

— sent from still-dove-191

gunbai-bot Bot pushed a commit that referenced this pull request Aug 2, 2026
#7480 added digest.dag post-freeze without scope_carrier_paths enrollment,
which reds extdeps_scope_placement_gate on any main-derived branch. Enroll
the carrier with extdeps_model_scope using an inline first_citation (the
symbolic cross-module cite emitted a broken extdeps_cargo reference in the
already-self-emitted module). Regen output included; regen_stage0 --verify
green locally.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot force-pushed the session/still-dove-191 branch from 5b73d57 to 57551e4 Compare August 2, 2026 02:57
Brian Searls and others added 11 commits August 2, 2026 03:52
Use fold (not fold_list) for roster module-path accumulation so the
empty accumulator is typed; point the partition witness at the survey
helper directly instead of the full wall that includes stale-reason RED.

Co-authored-by: Cursor <cursoragent@cursor.com>
Partition totality owns exact module-count equality; the dominance test
again asserts (emit + upstream) >= name and ready == 0 instead of the
interim <= module_count slack.

Co-authored-by: Cursor <cursoragent@cursor.com>
Call compiler_frontier_receipt_totality_wall_holds from self_host and
long-lane probe tests; green bidirectional totality on live survey;
intentional RED on full wall until stale located_reason rows clear.
Drop unused stale-reason import from frontier_probe_survey.

Co-authored-by: Cursor <cursoragent@cursor.com>
Review 46920: gate_a_flip_probe_unresolved_compiler_error_reason maps to
UpstreamSemanticRefusal, not EmitSurfaceGap — same blocker/stage as the
other ten UNRESOLVED rows; sweep_order re-sorted for rank 1035.

Co-authored-by: Cursor <cursoragent@cursor.com>
Review 46941: document census before=27 / after-shrink=0 LOC,
515→527 bin footprint (+12 mechanical coproduct gate arm only),
and concrete deferral row (wave2_prep_design §2.3 + migration trigger).

Co-authored-by: Cursor <cursoragent@cursor.com>
…951).

Lane E reclassifies 10 roster modules from EmitSurfaceGap to
UpstreamSemanticRefusal; the dominance witness already counts both buckets,
but sizing_band_a_leaf_count still required emit-only >= 20. Ground the
threshold on the roster split (10+10) via (emit + upstream) >= 20.

Co-authored-by: Cursor <cursoragent@cursor.com>
The upstream-semantic vocabulary adds two closed-coproduct match folds that
need non_fold_residue rows so the corpus witness stays green after rebase.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot force-pushed the session/still-dove-191 branch from 57551e4 to ad20325 Compare August 2, 2026 04:11
@briansrls
briansrls merged commit 7f178d8 into main Aug 2, 2026
5 checks passed
@briansrls
briansrls deleted the session/still-dove-191 branch August 2, 2026 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant