Skip to content

Production selector cutover into the native execution kind (post-#7599 slice): bounded production witness population -> content-addressed native bundle/shards on the real CI floor, full transition receipt - #7671

Merged
briansrls merged 14 commits into
mainfrom
session/vivid-wren-136
Aug 3, 2026

Conversation

@briansrls

@briansrls briansrls commented Aug 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Cut the bounded production-selected logic population (meet, join, complement) onto a new NativeBundleWitnessKind in the real per-PR floor. The .dag selector produces one content-addressed Rust bundle/process specification; claim_executor preserves the kind, starts one native bundle process, calls all three witnesses directly, runs the interpreter as the timed equivalence oracle, executes a separately addressed planted-RED bundle, and writes the full transition receipt.

Unknown, absent, or unhandled witness kinds refuse with a located counted diagnostic. Native artifact/build refusal can fall back only inside the native handler, where the fallback and unavailable population are typed and counted; native/interpreter divergence and missing planted-RED equivalence stay hard refusals.

Why

gunbc_pr_native_batch previously projected an empty routing frontier, and claim_executor discarded ScheduleWitnessEntry.kind, so a native row would have been absorbed into ordinary interpretation. This change makes the production selector consume the native execution kind introduced by the post-#7599 bundle substrate without changing nodes, dependencies, batch ordering machinery, or on-success stages.

Enrollment activates the existing conditional native-batch append, increasing the ordinary floor roster from five batches to six. Per the Dispatch A→C ruling, that roster change requires exactly one companion row in gunbc_ci_floor_batch_clamp_params; the native runnable remains isolated rather than being co-located with an unrelated realization batch.

Bounded slice and scaling trigger

Slice 1 is one stable shard containing the three logic members. Move to the next stable shard when either the generated closure exceeds 32 selected members or measured cold compile / peak cgroup memory exceeds 2x this slice's baseline. That exposes code-generation/closure scaling before attempting an immature universal bundle.

Transition receipt

Local run against the current CI-floor executor and real host transport:

  • selected/native/interpreted/unavailable: 3 / 3 / 0 / 0
  • bundle/shard: 1 / 1
  • cold compile wall: 367,209,379 ns
  • warm artifact-hit wall: 8,040 ns
  • native execution wall: 39,332,338 ns
  • interpreter-oracle wall: 17,407,839 ns
  • fallback count: 0
  • RSS peak: 4,801,241,088 bytes
  • cgroup peak: 11,940,978,688 bytes
  • verdict: accepted
  • planted-red equivalence: true
  • bundle identity: 09d7d2e53554c783

The handler writes the same mandatory fields to target/native-selected-witness-transition-receipt.tsv on the floor. The sixth batch's measured whole-batch wall was 77.020s; its 125s + 0ms/unit clamp applies the family 1.6× fleet-spread factor and rounds upward. The runnable stays Substantial and isolated; the measured RSS/cgroup peaks and their 7.14 GB gap are recorded in the clamp basis note, while the memory governor remains the fail-closed capacity authority.

#7522 overlap audit

Re-diffed immediately before the final clamp push against draft #7522 exact head 2778125eaee914b495de86546b61d5aa7ea610a6.

  • Shared files: src/v1/stage0/src/bin/claim_executor.rs, dag/gunbc/ci_spec.dag, dag/std/realization_schedule.dag, and src/v2/workflow/ci_floor_plan.dag.
  • Function/declaration-level overlap: none. This PR changes runnable_from_value, group_batch_units, run_batch_unit, native-handler helpers, entry_kind_is_execution, gunbc_pr_native_*, and gunbc_ci_floor_batch_clamp_params; Run merge admission as ordered CI success stages #7522 changes the WalkPlan/pre-walk/population-budget/stage scheduling surface (including batch_unit_lane and run_stage) and does not edit the clamp table.

Checks

  • cargo check -j 1 -p v1-compiler --bin claim_executor — pass
  • cargo test -j 1 -p v1-compiler --bin claim_executor --no-run — pass
  • cargo test -j 1 -p v1-compiler --bin claim_executor native_bundle_fallback_requires_planted_red_equivalence — pass, 1/1
  • target/debug/regen_stage0 --verify — pass, regen_divergence_count=0
  • target/debug/claim_batch --source-root dag --source-root src/v2 --entry src/v2/test/claim/pr_native_batch_test.dag --functions witness_selected_native_bundle_enrolled,witness_floor_appends_one_selected_native_batch — pass, 2/2
  • Direct clamp predicates witness_floor_batch_clamp_params_cover_schedule, witness_floor_batch_clamp_overhead_all_positive, and witness_floor_batch_clamp_rate_all_nonneg — pass, 3/3
  • Native transition receipt run through a temporary standard WalkPlan<NoWalkFinalization> containing only gunbc_pr_native_batch — pass; temporary harness removed after measurement

The two WIP-check failures at 32d7d2a were exhaustive-match fallout from adding the execution kind and are fixed. The later b47cd5d floor refusal correctly detected that the newly enrolled sixth batch lacked its positional clamp companion; d3d74a2 adds the measured sixth row and basis note.

@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 2, 2026 15:29
@cursor

cursor Bot commented Aug 2, 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.

Brian Searls and others added 4 commits August 2, 2026 16:40
…t rows (+ index-5 native row), compose ScopedWitnessBatch beside NativeBundle

Three conflicts, all compositions of independent additions:
- ci_spec.dag: main (#7569) re-modeled the clamp table as RunnableBatchClamp
  with typed second/millisecond units; the native batch's companion row (125s,
  operator-ruled basis note kept) is re-expressed in that shape.
- claim_executor.rs runnable fold: keep the guarded Discovery + NativeBundle
  partition, add main's ScopedWitnessBatch -> ScopedDiscovery arm beside it.
- claim_executor.rs function census arm: Discovery | ScopedDiscovery |
  NativeBundle all non-function units in one arm.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… re-pin the floor-append witness on the base plan

Main's #7569 landed a WitnessKind wire codec (scoped_witness_kind_label/_from_label)
whose exhaustive matches would not compile against the new NativeBundleWitnessKind
variant — the closed-coproduct wall working as designed. Fixed in the dag authority
(native-bundle arms in both directions) and regenerated stage0 (divergence 0).

witness_floor_appends_one_selected_native_batch red on the merged tree for two
reasons: gunbc_ci_floor_realization_plan().schedule is now defined AS
gunbc_ci_floor_ordinary_batches() (x == x + 1 unsatisfiable), and ordinary batches
additionally append one batch per scoped_witness_batches row. Re-pinned against the
base plan gunbc_ci_floor_realization_plan_for(spec: gunbc_ci_spec) plus the scoped
count, keeping +1-native the discriminated quantity. Both enrollment witnesses green
by execution.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@gunbai-bot gunbai-bot Bot mentioned this pull request Aug 2, 2026
6 tasks
gunbc-ci-auto-heal and others added 5 commits August 2, 2026 18:15
…ilt seed (review 47484)

The previous head's regen ran with a stale regen_stage0 binary and committed a
half-completed partition — a new v1-stage0-extdeps-base crate holding three
modules while extdeps_units_*/std_occurrence_identity/std_trait_derive_shape/
v1_compiler_infer_occurrence_binding were dropped from their crates without
relocation, breaking the partition workspace members (cursor review 47484) and
redding CI's regen self-host gate ('Stage0 split crate boundary files are
stale'). Regenerated in the correct order (build seed from committed tree ->
regen -> rebuild -> --verify divergence 0): the partition reverts to the
derived state, stage0_extdeps_base leaves the workspace and is deleted.
cargo check --workspace green; fmt clean.

Also softens the native_selected_bundle_process carrier note per review 47480:
the planted-red twin and oracle names are seed convention today, not carrier
fields — declared honestly with the existing dissolve-on.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
witness_floor_schedule_preserves_enrolled_set redded on CI (run 30762089274):
gunbc_ci_floor_ordinary_batches appends the selected native batch when the
frontier enrolls it, but gunbc_ci_floor_enrolled_runnable_labels_for still
projected only gates + corpus + scoped batches, so the length check failed by
exactly the appended batch. The enrolled side now appends the same runnable's
label under the same gunbc_pr_native_batch_enrolled() condition the schedule
uses — one enrollment authority read by both sides. ci_floor_plan_witnesses,
ci_corpus_discovery_flip_witnesses, and the native pair green by execution.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ach the wire (CI receipt run 30764923923)

The floor redded on srv4-03 with all 3 selected members unavailable and
verdict refused:equivalence_or_planted_red — review 47508's advisory made
real: fallback required the planted RED's NATIVE run to succeed, which in a
native-toolchain outage it cannot, so the counted-fallback arm was unreachable
in exactly the outage it was modeled for (NativeProductionTransitionFallback
{ cause: NativeUnavailableCause }), and a toolchain outage became a hard
floor red with its cause dropped on the floor.

Split the folded bit: DIVERGENCE (native ran, produced undeclared output)
still hard-refuses — an auto-pick would mask it, per the bundle note's
'divergence is a hard refusal, never an auto-pick'. OUTAGE (transport refused
or process failed) arms the counted fallback when the interpreter oracle is
green AND the planted RED's ORACLE discriminates — the discriminating-RED
evidence for the thing actually consumed under fallback. Acceptance keeps the
full native bar including planted-red native equivalence. New verdict string
refused:native_divergence separates the classes; the cold/warm/planted
transport causes now print to stderr and ride the FAIL/fallback detail (the
TSV receipt shape is unchanged — it is a parsed contract). Seed tests cover
outage-fallback, no-discrimination-no-fallback, divergence-never-fallback,
and the acceptance bar.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…d native batch is an escaping entry class (Receipt 9, CI run 30767841790)

The floor gate worked as designed: run 30767841790's batch 6 PASSED via the
counted outage fallback (transport causes located on the wire), and the sole
red was FLOOR-FINALIZATION-REFUSED resolve count 2 != declared 1 —
gunbc_pr_native_batch is a RunnableSingleClaim on its own entry file, paying
its own cold closure resolve per the empirical law in
ci_floor_resolve_receipt_note.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@briansrls
briansrls merged commit eb3dd3c into main Aug 3, 2026
4 of 5 checks passed
@briansrls
briansrls deleted the session/vivid-wren-136 branch August 3, 2026 00:19
briansrls pushed a commit that referenced this pull request Aug 3, 2026
…t raise with the capture-subprocess accounting (count stays 2)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 4, 2026
…inal dispositions.

Bank measured walls from main run 30863019228; settle #7522/#7671/#7534 as MEASURED or OPEN-with-trigger; retire stale in-flight/probable claims in five-minute and roadmap authorities.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls pushed a commit that referenced this pull request Aug 4, 2026
…nosis lanes (#7760)

* WIP: CI perf

* Close CI-cost research arc with harvested production receipt and terminal dispositions.

Bank measured walls from main run 30863019228; settle #7522/#7671/#7534 as MEASURED or OPEN-with-trigger; retire stale in-flight/probable claims in five-minute and roadmap authorities.

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

* chore: regenerate drifted generated artifacts (ci auto-heal)

* Address review 47900: Millisecond duration surface and design-thread OOM wording.

Public closeout walls use std.measure.Millisecond; design open-thread no longer treats OOM as the warm-hit skip blocker after #7728.

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

* Fix CI parse panic and DESIGN.md drift after closeout edits.

Witness comparison must stay on one line (multiline `>` parsed as Gt); regenerate DESIGN.md open-thread to match design_document after #7728 wording.

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

* WIP: CI perf

* Model the CI-cost closeout as typed walls and settles, not prose strings.

Expose unattributed_ci_wall (1902042 ms) with pipeline/CI reconciliation; narrow assembly to compiler_next_measured_target; freeze entry-view until PR2 assigns the remainder.

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

---------

Co-authored-by: gunbc-ci-auto-heal <gunbc-ci-auto-heal@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
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