Repository navigation
gunbc run: repeatable --function, and a bare --claim-run runs every test fn of the entry in one process - #11594
Merged
Merged
Conversation
… every test fn of the entry in one process One load of the entry's closure is where a run's wall clock goes; a witness file's claims used to cost that load each. The modeled surface (gunbc.cli_dispatch_surface) makes --function repeatable; the host loops the named functions over one evaluation context, runs every claim even after a red so a file reports all of its reds, and exits nonzero if any failed. With no --function a --claim-run enumerates the entry module's test fns from the resolved graph's declaration markers (no re-parse, no second load). Measured: a nine-claim witness in 251 s, the cost of one claim before. gunbc.cli_invoke gunbc_run_all_claims_invocation_words is the modeled argv, and the onboarding path gains a run-one-witness step projected into docs/onboarding.md. The generated dispatch and the surface mirror are regenerated (fixed point). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ll-claims route is its empty case review 67603: the all-claims argv re-spelled the run/source-roots/--entry/--claim-run prefix beside the existing builder. gunbc_run_invocation_words_with_functions now takes the function population; the single-function and all-claims routes call it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Summary
Local witness diligence cost one full corpus load (~4 min, ~9 GB) per claim, because
gunbc run --claim-runtook exactly one--function. This makes the run batch over one load:gunbc.cli_dispatch_surface:--functionisCliRepeated; the generated dispatch (gunbc_cli_dispatch_generated.rs) and the surface mirror are regenerated —--required-regenreportsfirst_generation_equal=truewith the new seed, so the hand-aligned bytes are the emitter's.main.rs run_verb: resolves the entry once, then loops the named functions over oneInterpContext. Under--claim-runevery function runs even after a red (a file reports all its reds); exit is nonzero if any failed. A non-claim multi-function run stops at the first failure (later functions may depend on earlier effects). PASS lines keep stdout; other messages keep stderr.--claim-runwith no--functionenumerates the entry module'stest fns from the resolved graph's declaration markers (DeclarationMarker::TestMarked, v1 parser carries the test marker on the declaration instead of dropping it #11478) — no re-parse, no second load.gunbc.cli_invoke gunbc_run_all_claims_invocation_wordsis the modeled argv;gunbc.contributor_onboarding_pathgains arun-one-witnessstep, projected intodocs/onboarding.mdvia the docs regen.Measured
gunbc run … --entry dag/test/claim/spark/pair_serving_authority_witness_test.dag --claim-run— 9 claims, 251 s wall, i.e. the cost of one claim before (~37 min → ~4 min for that file). Two named functions: both PASS. A bad name among good ones: both PASS lines printed, the refusal reported, exit 1.Test plan
cargo build --release -p v1-compiler --bin gunbc --bin claim_executor), fmt clean.docs-projections.🤖 Generated with Claude Code