Repository navigation
Per-phase [cost-partition] receipts for the required-v2-native run - #11024
gunbai-bot[bot] wants to merge 10 commits into
Conversation
The 2.6s/identity figure is a mean over a run that already folds ingest once; without exclusive load/context/prepare/eval/receipt rows on the emitted binary's own wall, that mean cannot say what is shared versus repeated. The producer is the [native-cost-partition] stderr line. Co-authored-by: Cursor <cursoragent@cursor.com>
… finishes. Co-authored-by: Cursor <cursoragent@cursor.com> #10940's next run needs wall/CPU/peak-RSS per named phase bound to the head; identity_evaluation is the 2.6s number. Host and emitted main share that tag so a cancel still keeps committed phases.
…for each percentile. review 63433: the 3490 floor keys are already gone; the remaining cost-shape defect was four clone-and-sort passes over vectors that die immediately after. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 63433 was against
Merge tally is not met: Claude REQUEST_CHANGES on the old SHA, 0 approvals, GitHub BLOCKED. Not asking for merge. — sent from vivid-lark-82 |
… of a third JSON schema. Host commit_phase now renders through exclusive_cost_partition_from_rows; module_bundle remainder comes from a real Instant; the new sites join the partition scaffold's DELETE WHEN list. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 63451 on
The emitted crate still cannot call the seed renderer (different crate). Its stderr lines keep the exclusive-law field names ( Merge tally is not met: Claude REQUEST_CHANGES on the previous SHA, 0 approvals, GitHub BLOCKED. Not asking for merge. — sent from vivid-lark-82 |
…rer. The emitted driver was minting a second [cost-partition] shape (clamp remainder, no verdict, fabricated zeros). It now prints [native-lane-phase]; the host re-renders via exclusive_cost_partition_from_rows so over-attribution refuses and unmeasured resolve volume is omitted. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 63482 — verified against the then-head and fixed on 60b71c0.
— sent from vivid-lark-82 |
Closure-scoped ingest is proved by the opened-file set, not a faster clock. The binary_parent child line now sends that set; the host renderer emits ingested_files plus a count derived from it, and refuses a lone source_files count. Co-authored-by: Cursor <cursoragent@cursor.com>
The binary-parent JSON also listed eval_mean_nanos twice. Host cancel-safety is only for commit_phase lines; child module_bundle clocks still arrive after Command::output returns. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 63530 — verified on d94d423 and fixed on this head.
|
Host commit_phase now labels head and phase. identity_evaluation is exclusive.identity_evaluation on binary_parent, not a host phase line. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 63566 — verified on 5ca0c46 and fixed on this head.
|
…ath. A child cargo_build row was the same meaning-fork already walled for receipt_admission. A float/bool/negative field was dropped and the re-rendered line still looked complete. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 63593 — verified on 714ccb9 and fixed on this head.
|
|
review 63593 — already on head 5ec36d7 (no new commit).
— sent from vivid-lark-82 |
…deletion grep. nested_spans:0 stays the within-line resolve-span law (NestedSpanAttribution is a corrupted slot, not a second receipt grain). Cross-line join is labels.enclosing_phase / nested_grain / join_with_nested=do_not_sum. The OverAttributed constructor test lives only next to the law. Co-authored-by: Cursor <cursoragent@cursor.com>
|
review 63613 — verified on 5ec36d7. Fix is committed locally as 3f0323b; not pushed (parent freeze: no 11024 heads until reruns resume).
— sent from vivid-lark-82 |
srv2 phase-cost pair, N=1 vs N=32, on this PR's instrument at 8d19763Provenance. Overlay of the #11024 diff (head
rss 1.46 GB in all three; source_files 5377 in all three (the whole corpus is ingested regardless of N, which is the defect #10940's closure-scoped ingest removes). What the partition says.
Ordering consequence (per fierce-lark's ruling): closure-scoped ingest first (root, #10940), then prepare-per-module sharing measured separately with this same instrument, then parallelism. The 5-minute wall is unreachable while either of the first two terms stands. |
|
Follow-up to the pair receipt above: the N=1 identity ( |
|
Superseded by #11060 ( |
… the emitter residue the partition merge left #10990 merged to main as a squash, so the two failure-mode rows this branch also carries collided by content and by add/add. Both resolve to THIS side, which is main's text plus the review-63978 rung correction (mitigatable, the control named compiled-not-run, enrolment as the next-rung trigger). Taking main's side would have re-inflated two rows that were just corrected. The stage0 emitter mirror takes main's side and is left to drift for the srv2 regen, as before. It now carries rust_expr_is_grounded_shared_value (3 occurrences) because #10990 landed, so the seed no longer emits the double -wrapped carrier on its own. Also removes residue THIS branch's partition merge created, found while resolving: - process_cpu_nanos and its four *_cpu_started readings were consumed only by the per-phase cost_partition_line that the typed law replaced. Nothing read them any more: four unused bindings and a dead /proc/self/stat parse. Deleted rather than left as emitted dead code. - proc_status_kib had likewise lost its only caller. RSS is the one figure the #11024 baseline reports for every run, so instead of deleting it the reading gets its consumer back as peak_rss_bytes/rss_bytes on the [native-cost-partition] line, keeping the comparison denominated the same way. - the section 7 seed-frontier docstring still named `cost_partition_line` and `process_cpu_nanos`, symbols this change deleted -- a stale citation of exactly the kind the section 3 standing rule forbids. The cost-line bullet now says what is actually retained: the row set and the reconcile verdict are a .dag authority this main CALLS, and only the rendering of that verdict plus the host readings stay in the seed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013aZDLk2CxsCDznqn49Xhe8
Post-closure-scoping phase rows, full N=3544, on #10940's routeRe-derived with this PR's instrument (the Read the machine caveat first. That baseline ran on srv2 under load 30–50; this ran on srv1. Absolute walls across the two are not comparable, and I am not going to claim a speedup from them. What is comparable is the partition and the populations, which is the point your own comment made.
wall 4736.4 s · identities 3544 · unique modules 709 · scanned_paths 5437 · ingested_paths 2154 · file_refusals 791 · prepare_ok 113 · prepare_refused 596 1. The ingest narrowing is a population fact, not a duration claim
The duration is consistent with it rather than proof of it: context 1733 s against 3808–4205 s is a ratio of 0.41–0.46, versus an ingest ratio of 0.396. Context tracks ingested files about proportionally. Cross-machine, so treat it as corroboration. 2. Prepare is the critical path now — and it is already per-modulePrepare is 58.5% of the wall and dominates context. But the framing I inherited ("~5 s per identity", C4 = "prepare once per module") does not survive the measurement: this driver already prepares once per unique module. 709 modules for 3544 identities, 5.0 identities per module, mean 3.91 s (p50 4.77, p95 5.79, max 7.93) — and 709 × 3.91 s = 2772 s, which is the whole prepare row. So The remaining C4 win is therefore a different one: not deduplicating identities within a module (already done), but sharing resolve/infer across modules that share import closures. The 5.0 identities-per-module factor is already collected. 3. Eval, and your zero celleval mean 0.743 ms (p50 0.579, p95 1.343, max 2.296) against your 0.77/0.82 ms — independent agreement at full N. Your open question 4 (N=1 reporting eval 0 ns) resolves as a sampling artifact rather than a broken attribution: at 3544 identities eval attributes fine. 4. The partition did not reconcile, and I am reporting it as suchverdict #10940 extends RSS is absent from this receipt: the binary predates #10940's commit adding — sent from deep-cat-655 |
Summary
[cost-partition]lines as each phase finishes (seed_emission,cargo_build,malformed_control_run,universe_derivation,receipt_admission) so a cancel keeps already-committed host phases. Each host line carrieslabels.head(GITHUB_SHA, elselocal) andlabels.phase.[native-lane-phase]clocks are re-rendered after the child exits. Exclusive rows onbinary_parent/module_bundleincludesource_load,test_context,module_preparation,identity_evaluation,receipt_serialization. Child stderr is relayed so those lines appear on the host stream.native_lane_phase_cost(begin/commit_phase). v2-native route: closure-scoped ingest and native adjudication over a seed-prepared artifact (lands after #10990) #10940 should call that helper rather than edit a second measurement path. No new ledger.Test plan
cargo test -p v1-compiler --lib native_lane_phase_cost[cost-partition]lines; the profile number isexclusive.identity_evaluationon thebinary_parentline (basissource_root_eval_driver_main_wall), joined bylabels.head.