Skip to content

Serve exact-tree resolved graphs from verified cross-process materialization - #7534

Merged
briansrls merged 36 commits into
mainfrom
session/valiant-owl-325-dispatch-g
Aug 2, 2026
Merged

briansrls merged 36 commits into
mainfrom
session/valiant-owl-325-dispatch-g

Conversation

@briansrls

@briansrls briansrls commented Aug 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Opt-in cross-process materialization for exact-tree resolved graphs: the cache carries resolved graph + source indices + compile-clean diagnostic union (not an emitted-target artifact — later target emission still runs from the recovered graph).

  • Activation: GUNBC_RESOLVED_GRAPH_CACHE_DIR only; no default CI activation (GITHUB_ACTIONS disables the cwd default).
  • Keying: closure subject digest + compiler-binary identity (std.materialization_provider stored request key + semantic digest).
  • Happy path: first process writes v3 artifact; later process probes bounded header, provider verifies stored keys/parts, decodes once, installs into per-process resolved_graph_memo.
  • Miss / legacy: absent artifact or pre-v3 on-disk encoding → cold compute (declared migration disposition for legacy v1; never routed through v3 provider probe).
  • Refusals (fail-closed, no cold widen): malformed header, poisoned digest, wrong stored key, wrong semantic digest, trailing payload bytes, over-cap declared length, provider incomplete verdict.

Scaffold: dag/gunbc/materialization_provider_consumer_scaffold.dag · witness: dag/test/claim/materialization_provider_consumer_hand_rust_witness_test.dag · ROADMAP lane: cli_run_hollowing_plan.dag §2.6.

Scope limit (honest): this does not close dashboard startup. handle_serve still builds process_shared_index and loads the entry closure before any cache lookup — a warm hit skips typecheck/reconcile but still pays corpus-index/source-loading. Cache probing before index construction is a follow-on slice, not this PR.

Ordering: rebase onto #7533 when it lands (both touch cli_run.rs).

Test plan

cargo test -p v1-compiler-tests materialization_provider_resolved_graph resolve_cross_process -- --nocapture
cargo test -p v1-compiler-tests provider_disposition_four_arm_matrix trailing_payload_bytes declared_payload_len_over_cap -- --nocapture

@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 1, 2026 03:56
@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

Addressing review 45922 (codex REQUEST_CHANGES):

BackendKeyMalformed fail-open (cli_run.rs) — Fixed in 7697591c8. CacheProbeResult::RejectedHit(BackendKeyMalformed) now returns cross_process_cache_integrity_refusal (same arm as ContentDigestMismatch), so corrupt/truncated/subject-mismatched headers stop the line instead of cold-recompiling. Witnesses extended: malformed_header_* and poisoned_hit_rejected_on_subject_digest_mismatch now assert resolve refuses with backend key malformed.

Hand-Rust scaffold receipt — The lane is already enrolled on main, not missing from the PR diff:

  • Scaffold: dag/gunbc/materialization_provider_consumer_scaffold.dag (Scaffold { dissolves_to: SingleAuthority }, dissolve trigger, receipt plan anchor cli_run_hollowing_plan.dag#2.6, roadmap lane ROADMAP.md §7 / area 2.6)
  • Executing witness: dag/test/claim/materialization_provider_consumer_hand_rust_witness_test.dag
  • Consumer module header cites the scaffold authority (materialization_provider_consumer.rs lines 8–9)

This commit also updates scaffold bind + materialization_provider_targets consumer seam to serve_resolved_graph_v2_disk_probe (Dispatch G lands the faithful v2 format the targets row’s old dissolve trigger named). Removed unused LegacyCachePayload (review 45920 nit).

— sent from valiant-owl-325

@gunbai-bot
gunbai-bot Bot marked this pull request as draft August 1, 2026 04:43
@gunbai-bot

gunbai-bot Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

review 45933 — addressed in 56606f292

Both findings verified against current v3 format code and fixed:

  1. Trailing payload bytes — parse_v3_header now calls validate_declared_artifact_len immediately after reading payload_len, requiring total_file_len == V3_HEADER_LEN + payload_len (no trailing slack). Dead v2 parse_tripartite_payload helpers removed (v3 uses flat payload + part descriptors). Witness: trailing_payload_bytes_refuse_as_backend_key_malformed.

  2. Oversized payload_len before allocate — read_cached_file checks file metadata against resolved_graph_cache_cap_bytes() first, parses header only, validates declared length against cap + file size, then allocates payload_len bytes and reads exactly that many. Probe path (read_cached_header) applies the same cap check. Witness: declared_payload_len_over_cap_refuses_before_large_allocation.

PR remains draft — operator six-item rework (stored-key provider probe, interpreter digest authority, serve fast-path, encoding determinism witness, PR body) is in this commit stack but not yet ready for merge tally.

— sent from valiant-owl-325

@gunbai-bot gunbai-bot Bot changed the title Dispatch G: production materialization first consumer - exact-tree repeated invocation hits verified materialization, installs into process memo, skips parse/typecheck/resolve/emit; gunbc serve restart on same subject binds without compiling; corrupt/incomplete/wrong-compiler artifact = typed refusa Serve exact-tree resolved graphs from verified cross-process materialization Aug 1, 2026
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
…runner.

Verdict-fired scaffold now defers measurement-orchestration deletion to #7534
merge or operator archive while keeping enrolled regression controls per §4b.
Delete run_matrix.sh; inline disjoint-cell reproduction in the receipt doc.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
Receipt §F–§G: no-go for union construction, intrinsic dissolution trigger
(merged-SHA provenance receipt → delete instrument; not #7534), retain-law
boundary, three spelled-out repro invocations. Scaffold comment aligned.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
…runner.

Verdict-fired scaffold now defers measurement-orchestration deletion to #7534
merge or operator archive while keeping enrolled regression controls per §4b.
Delete run_matrix.sh; inline disjoint-cell reproduction in the receipt doc.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
Receipt §F–§G: no-go for union construction, intrinsic dissolution trigger
(merged-SHA provenance receipt → delete instrument; not #7534), retain-law
boundary, three spelled-out repro invocations. Scaffold comment aligned.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot force-pushed the session/valiant-owl-325-dispatch-g branch from 306b62e to 6d99648 Compare August 1, 2026 13:32
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
…runner.

Verdict-fired scaffold now defers measurement-orchestration deletion to #7534
merge or operator archive while keeping enrolled regression controls per §4b.
Delete run_matrix.sh; inline disjoint-cell reproduction in the receipt doc.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
Receipt §F–§G: no-go for union construction, intrinsic dissolution trigger
(merged-SHA provenance receipt → delete instrument; not #7534), retain-law
boundary, three spelled-out repro invocations. Scaffold comment aligned.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot force-pushed the session/valiant-owl-325-dispatch-g branch from 6d99648 to dc85260 Compare August 1, 2026 14:14
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
…runner.

Verdict-fired scaffold now defers measurement-orchestration deletion to #7534
merge or operator archive while keeping enrolled regression controls per §4b.
Delete run_matrix.sh; inline disjoint-cell reproduction in the receipt doc.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
Receipt §F–§G: no-go for union construction, intrinsic dissolution trigger
(merged-SHA provenance receipt → delete instrument; not #7534), retain-law
boundary, three spelled-out repro invocations. Scaffold comment aligned.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
…runner.

Verdict-fired scaffold now defers measurement-orchestration deletion to #7534
merge or operator archive while keeping enrolled regression controls per §4b.
Delete run_matrix.sh; inline disjoint-cell reproduction in the receipt doc.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
Receipt §F–§G: no-go for union construction, intrinsic dissolution trigger
(merged-SHA provenance receipt → delete instrument; not #7534), retain-law
boundary, three spelled-out repro invocations. Scaffold comment aligned.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
…runner.

Verdict-fired scaffold now defers measurement-orchestration deletion to #7534
merge or operator archive while keeping enrolled regression controls per §4b.
Delete run_matrix.sh; inline disjoint-cell reproduction in the receipt doc.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
Receipt §F–§G: no-go for union construction, intrinsic dissolution trigger
(merged-SHA provenance receipt → delete instrument; not #7534), retain-law
boundary, three spelled-out repro invocations. Scaffold comment aligned.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
…runner.

Verdict-fired scaffold now defers measurement-orchestration deletion to #7534
merge or operator archive while keeping enrolled regression controls per §4b.
Delete run_matrix.sh; inline disjoint-cell reproduction in the receipt doc.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
Receipt §F–§G: no-go for union construction, intrinsic dissolution trigger
(merged-SHA provenance receipt → delete instrument; not #7534), retain-law
boundary, three spelled-out repro invocations. Scaffold comment aligned.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
…runner.

Verdict-fired scaffold now defers measurement-orchestration deletion to #7534
merge or operator archive while keeping enrolled regression controls per §4b.
Delete run_matrix.sh; inline disjoint-cell reproduction in the receipt doc.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
Receipt §F–§G: no-go for union construction, intrinsic dissolution trigger
(merged-SHA provenance receipt → delete instrument; not #7534), retain-law
boundary, three spelled-out repro invocations. Scaffold comment aligned.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls pushed a commit that referenced this pull request Aug 1, 2026
* WIP: Dispatch F: Lane B slice 2 - repeated-typecheck attribution measurement

* Fix slice-2 typecheck attribution: fmt, metrics, and controls.

Align decision_ratio with operator spec (repeated_typecheck_compute_ns /
total_typecheck_compute_ns), add flag-gated probe hooks and measurement
bin, arithmetic + integration controls, and the slice-2 receipt doc.

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

* WIP: Dispatch F: Lane B slice 2 - repeated-typecheck attribution measurement

* Link slice-2 receipt from slice-1 doc for doc-graph reachability.

The new slice-2 measurement receipt was an orphan (doc_graph_has_no_orphan_docs
failed on CI). Slice-1 is already reachable from DESIGN.md; forward-link slice-2
from there so the doc-reachability gate passes.

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

* WIP: Dispatch F: Lane B slice 2 - repeated-typecheck attribution measurement

* Fix slice-2 membership stats for capped/explicit entry paths.

Recompute sum_closure_memberships, union_modules, and fanout for the
actual selected_entries whenever --max-entries or --entry overrides the
production roster, so membership denominators match the typecheck rows.
Add ROADMAP row reference to the hand-Rust scaffold (review 45883).

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

* WIP: Dispatch F: Lane B slice 2 - repeated-typecheck attribution measurement

* Repair slice-2 attribution accounting per operator verdict.

- Buffer all-hit-probe observations; commit only on full probe success
- Enforce unique (entry, module_key) rows; add partial-probe control test
- Emit detailed receipt file (--receipt-out); keep stdout as summary
- Bypass production selection when --entry is given
- Label memory honestly (rss before/after, process VmHWM, cgroup high events)

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

* Record slice-2 measurement matrix receipts (execution handback).

Five runs on repaired instrument (binary sha256:8af9c726): explicit 7-entry
set in two orders plus narrow/typical/broad production subjects capped at
N=50 after uncapped narrow OOM at cgroup 32GiB. All cells: decision_ratio=0,
repeated_typecheck_misses=0, cache_hit_ratio 0.36 (explicit) / 0.88 (N=50).
Verdict slot left empty per operator sequencing.

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

* Add --entry-offset for disjoint production roster windows.

Enables per-base stratified 50-entry samples (early/mid/late) without
re-running production selection; required for breadth contrast after merge.

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

* Fill slice-2 verdict: disjoint production receipts, M2 retention context.

Three distinct 50-entry windows (offsets 0/117/235) all show decision_ratio=0;
union program closes/shrinks. Documents instrument-path OOM at N=286 without
M2 retention and retracts shared-prefix cap artifact.

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

* Address review 46081: post-verdict scaffold lifecycle and drop shell runner.

Verdict-fired scaffold now defers measurement-orchestration deletion to #7534
merge or operator archive while keeping enrolled regression controls per §4b.
Delete run_matrix.sh; inline disjoint-cell reproduction in the receipt doc.

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

* Serialize slice-2 attribution probe tests under receipt lock.

Match the typecheck_compute_count receipt pattern: exclusive mutex
for integration tests that arm the process-wide attribution probe so
parallel `cargo test` cannot steal or consume another test's run.

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

* Operator adjudication cleanup: union row closes outright at N≤50.

Receipt §F–§G: no-go for union construction, intrinsic dissolution trigger
(merged-SHA provenance receipt → delete instrument; not #7534), retain-law
boundary, three spelled-out repro invocations. Scaffold comment aligned.

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

* Add publication grants for slice-2 receipt paths.

Rebased onto main (#7560 publication placement gate). New docs/receipt
artifacts and the measurement bin need explicit PublicFilePublishGrant rows
so publication_placement_gate_passes succeeds on the PR merge tree.

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

* Fix arithmetic test helper after entry_offset_applied landed.

Pass None for entry_offset_applied in measurement_from_rows and
initialize all RepeatedTypecheckAttributionRun probe-buffer fields.

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

* Raise v1-compiler-tests compile gate step timeout to 10m.

Cold native-cache builds on srv1 exceeded the 5m aux cap (run 30692671758)
while compiling deps; warm runs finish in ~50s. Build job backstop 75→80m.

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

* Record entry-graph-union-construction closure in roadmap authority.

Slice-2 adjudication (no-go at N≤50) now lives in the canonical roadmap row and acceptance receipt, resolving the conflict review 46181 flagged between the receipt scaffold and active_large status.

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

* Ground v1-compiler-tests compile gate timeout on Duration.

Review 46190: the 10m step cap now uses the same Duration carrier as floor/regen timeouts, and the build-job backstop sum is witness-pinned.

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

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

* Restore main publication grants dropped during rebase.

The slice-2 grant edit had replaced main's post-cutover roster instead of
merging with it, leaving eleven CI/heal paths ungranted and failing
publication_placement_gate_passes on the floor.

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

* Unify union-resolve receipt test locks to fix parallel-test race.

Attribution probe tests and TYPECHECK_COMPUTE_COUNT receipt tests shared
process-wide state but used separate mutexes; serialize both under one lock.

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

* WIP: Dispatch F: Lane B slice 2 - repeated-typecheck attribution measurement

* Fix slice-2 typecheck attribution: fmt, metrics, and controls.

Align decision_ratio with operator spec (repeated_typecheck_compute_ns /
total_typecheck_compute_ns), add flag-gated probe hooks and measurement
bin, arithmetic + integration controls, and the slice-2 receipt doc.

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

* WIP: Dispatch F: Lane B slice 2 - repeated-typecheck attribution measurement

* Link slice-2 receipt from slice-1 doc for doc-graph reachability.

The new slice-2 measurement receipt was an orphan (doc_graph_has_no_orphan_docs
failed on CI). Slice-1 is already reachable from DESIGN.md; forward-link slice-2
from there so the doc-reachability gate passes.

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

* WIP: Dispatch F: Lane B slice 2 - repeated-typecheck attribution measurement

* Fix slice-2 membership stats for capped/explicit entry paths.

Recompute sum_closure_memberships, union_modules, and fanout for the
actual selected_entries whenever --max-entries or --entry overrides the
production roster, so membership denominators match the typecheck rows.
Add ROADMAP row reference to the hand-Rust scaffold (review 45883).

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

* WIP: Dispatch F: Lane B slice 2 - repeated-typecheck attribution measurement

* Repair slice-2 attribution accounting per operator verdict.

- Buffer all-hit-probe observations; commit only on full probe success
- Enforce unique (entry, module_key) rows; add partial-probe control test
- Emit detailed receipt file (--receipt-out); keep stdout as summary
- Bypass production selection when --entry is given
- Label memory honestly (rss before/after, process VmHWM, cgroup high events)

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

* Record slice-2 measurement matrix receipts (execution handback).

Five runs on repaired instrument (binary sha256:8af9c726): explicit 7-entry
set in two orders plus narrow/typical/broad production subjects capped at
N=50 after uncapped narrow OOM at cgroup 32GiB. All cells: decision_ratio=0,
repeated_typecheck_misses=0, cache_hit_ratio 0.36 (explicit) / 0.88 (N=50).
Verdict slot left empty per operator sequencing.

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

* Add --entry-offset for disjoint production roster windows.

Enables per-base stratified 50-entry samples (early/mid/late) without
re-running production selection; required for breadth contrast after merge.

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

* Fill slice-2 verdict: disjoint production receipts, M2 retention context.

Three distinct 50-entry windows (offsets 0/117/235) all show decision_ratio=0;
union program closes/shrinks. Documents instrument-path OOM at N=286 without
M2 retention and retracts shared-prefix cap artifact.

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

* Address review 46081: post-verdict scaffold lifecycle and drop shell runner.

Verdict-fired scaffold now defers measurement-orchestration deletion to #7534
merge or operator archive while keeping enrolled regression controls per §4b.
Delete run_matrix.sh; inline disjoint-cell reproduction in the receipt doc.

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

* Serialize slice-2 attribution probe tests under receipt lock.

Match the typecheck_compute_count receipt pattern: exclusive mutex
for integration tests that arm the process-wide attribution probe so
parallel `cargo test` cannot steal or consume another test's run.

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

* Operator adjudication cleanup: union row closes outright at N≤50.

Receipt §F–§G: no-go for union construction, intrinsic dissolution trigger
(merged-SHA provenance receipt → delete instrument; not #7534), retain-law
boundary, three spelled-out repro invocations. Scaffold comment aligned.

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

* Fix arithmetic test helper after entry_offset_applied landed.

Pass None for entry_offset_applied in measurement_from_rows and
initialize all RepeatedTypecheckAttributionRun probe-buffer fields.

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

* Raise v1-compiler-tests compile gate step timeout to 10m.

Cold native-cache builds on srv1 exceeded the 5m aux cap (run 30692671758)
while compiling deps; warm runs finish in ~50s. Build job backstop 75→80m.

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

* Record entry-graph-union-construction closure in roadmap authority.

Slice-2 adjudication (no-go at N≤50) now lives in the canonical roadmap row and acceptance receipt, resolving the conflict review 46181 flagged between the receipt scaffold and active_large status.

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

* Ground v1-compiler-tests compile gate timeout on Duration.

Review 46190: the 10m step cap now uses the same Duration carrier as floor/regen timeouts, and the build-job backstop sum is witness-pinned.

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

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

* Unify union-resolve receipt test locks to fix parallel-test race.

Attribution probe tests and TYPECHECK_COMPUTE_COUNT receipt tests shared
process-wide state but used separate mutexes; serialize both under one lock.

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

* Align attribution probe header with post-verdict dissolution trigger.

The inline ONE-SHOT comment still said "dissolves with slice-2 union
verdict" even though that verdict landed in this PR; point at the
intrinsic merged-SHA provenance receipt trigger in the scaffold below.

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>
@gunbai-bot
gunbai-bot Bot force-pushed the session/valiant-owl-325-dispatch-g branch from dc85260 to d347c81 Compare August 1, 2026 20:15
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 1, 2026 20:15
@gunbai-bot

gunbai-bot Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

review 46613 (REQUEST_CHANGES) — fixed at e4ae98fa8

Codex was right: after serve_resolved_graph_stored_disk_probe approved a v3 header, cross_process_lookup reopened the artifact independently and only checked internal consistency — a replacement file between probe and lookup could install an unverified graph.

Fix: lookup_verified_probe reopens once, requires the on-disk v3 header to match the provider-approved CacheProbeHit exactly (format version, payload integrity, request key, semantic digest, part descriptors) before decode_v3_payload_from_file reads payload bytes from the same handle. Production path now calls cross_process_lookup_verified_probe(&cache_root, &subject, &probe) only after provider Hit.

Evidence: verified_lookup_refuses_artifact_replaced_after_probe — probe approves artifact A, swap to internally-valid artifact B with mismatched semantic header → verified lookup RejectedHit; unverified lookup still decodes B (control proving the gap existed).

— sent from valiant-owl-325

@gunbai-bot

gunbai-bot Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

review 46659 (composer REQUEST_CHANGES) — fixed at 2af6b939

materialization_provider_targets resolved-graph row consumer_seam now binds serve_resolved_graph_stored_disk_probe on v1_compiler.cli_run.materialization_provider_consumer, matching the scaffold (materialization_provider_consumer_scaffold.dag) and the actual Rust export. The stale serve_resolved_graph_v2_disk_probe name only exists on the .dag provider surface, not the hand-Rust consumer.

review 46653 (opus APPROVE, non-blocking)

  • Default cache root: added rationale on resolved_graph_cache_root_from_env — cwd-scoped .gunbc/resolved-graph-cache replaces the prior always-on temp_dir default that OOM'd concurrent shards; GITHUB_ACTIONS still disables it; opt-in via env override.
  • semantic-digest-placeholder in resolved_graph_parts_semantic_digest: agreed it is a hollow-alias smell — writer and reader share the same stable placeholder today so equality is sound, but a dedicated parts_semantic_digest fold (no fabricated request_key) is the right dissolve before module-grain consumers pin on this shape. Deferred to the module-grain slice, not this exact-tree rung.

— sent from valiant-owl-325

review 47201: delete resolve_closure_request_key_from_digests and
resolved_graph_parts_semantic_digest from std.materialization_provider;
Rust and tests already route through the outcome variants that typed-refuse
on cross-family input instead of content_hash_atom unreachable arms.

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

gunbai-bot Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

review 47201 (opus APPROVE, non-blocking) — fixed at e64c039

Deleted the unwrapped resolve_closure_request_key_from_digests and resolved_graph_parts_semantic_digest helpers from std.materialization_provider — they were the only sites that content_hash_atom-fabricated hashes on the refused arm. Production Rust (materialization_provider_consumer) and tests already call resolve_closure_request_key_outcome / resolved_graph_parts_semantic_digest_outcome, which return typed ProviderLookup refusals. No caller remains that could hit a sentinel hash.

— sent from valiant-owl-325

Per-path net deltas from git diff origin/main...HEAD --numstat:
resolved_graph seven-path sum 1905 (cli_run 121, consumer 262);
consumer scaffold pair net 469 (262 + 207).

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

gunbai-bot Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

review 47206 (composer REQUEST_CHANGES) — fixed

Verified git diff origin/main...HEAD --numstat on enrolled paths:

Path net Δ
cli_run.rs 121 (was 115)
materialization_provider_consumer.rs 262 (was 186)
resolved_graph_cache.rs 657
ir_fixture_seam_soundness_test.rs 2
materialization_provider_resolved_graph_consumer_test.rs 207
resolve_cross_process_cache_test.rs 610
resolved_graph_cache_size_bound_test.rs 46

Seven-path sum 1905 → resolved_graph_cache_hand_rust_loc_delta_net + path_loc_deltas_net updated; witness fold still reconciles.

Consumer scaffold pair net 469 (262+207) → materialization_provider_consumer_hand_rust_loc_delta_net and witness literal updated.

— sent from valiant-owl-325

Remove GUNBC_RESOLVED_GRAPH_CACHE_CAP_BYTES production override; tests inject
cap via set_resolved_graph_cache_cap_bytes_for_test only. Replace fnv1a64
zero-hash unreachable arm with per-family BUG-XFAMILY-* non-digest labels on
fnv1a64_structural_from_admitted substrate-totality arms. Refresh hand-Rust
resolved_graph_cache.rs census net 666 (sum 1914).

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

gunbai-bot Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

review 47220 (opus REQUEST_CHANGES) — fixed at 9889039

  1. GUNBC_RESOLVED_GRAPH_CACHE_CAP_BYTES escape hatch removed. resolved_graph_cache_cap_bytes() now always returns the modeled SizeBounded cap unless a test-only thread-local override is set via set_resolved_graph_cache_cap_bytes_for_test (used by resolved_graph_cache_size_bound_test). No production env toggle; malformed env no longer widens to default.

  2. fnv1a64_structural_after zero-hash sentinel removed. Replaced with fnv1a64_structural_from_admitted(admission: …); cross-family substrate-totality arms use per-family BUG-XFAMILY-* digests (non-hex, not plausible identities) instead of 0000000000000000. Seam gates still refuse before extraction on all production paths.

Hand-Rust census: resolved_graph_cache.rs net 666, seven-path sum 1914.

— sent from valiant-owl-325

Brian Searls and others added 3 commits August 2, 2026 05:45
Remove fnv1a64_seam_cross_family_extraction_bug_digest and route cross-family
seams through fnv1a64_structural_if_admitted typed refusals (#7480 wall).
Gate set_resolved_graph_cache_cap_bytes_for_test behind test_hooks feature.
Merge main for REST repair layers.

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

gunbai-bot Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

CI fix + review 47238

CI (fd9864b): BUG-XFAMILY-* literals were invalid Fnv1a64StructuralDigestHex after #7480’s lower_hex_16 wall — removed entirely. Cross-family arms now use fnv1a64_structural_if_admitted → typed ProviderRefusedCrossFamilyContentHash (or ProviderMiss on the impossible admitted arm in provider_refused_cross_family_from_admission), never fabricated digest carriers.

47238 test cap: set_resolved_graph_cache_cap_bytes_for_test is behind v1-compiler test_hooks feature (enabled only by v1-compiler-tests).

Merged current main (REST repair / infer peel layers).

— sent from valiant-owl-325

@briansrls
briansrls merged commit bc586b5 into main Aug 2, 2026
5 checks passed
@briansrls
briansrls deleted the session/valiant-owl-325-dispatch-g branch August 2, 2026 14:15
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>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 4, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 5, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 5, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 5, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 5, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 5, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 5, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 5, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 5, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 5, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 5, 2026
…kip proof

Upload every floor population receipt on always(), bank a typed reconcile
carrier for ≥95% ci_job_wall attribution, and close #7534's skip-counter
proof. Admission and native fleet stay MissingArtifactOpen until uploaded
bytes bank — no performance mechanism, freeze entry-view until the bar.

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