Repository navigation
B3c: one @2 freeze rule, warm-start combined total, fit acceptance check (companion of autofit_inference#7) - #28
Merged
Conversation
…un, no pilot restart The campaign and wave-1 task now match autofit_inference protocol §7: freeze @2 from the existing 17-row calibration before any scored run, never restart the pilot (its deferred runs move to scored wave 2), and keep the A2+A4 gate on scored wave 2. Refs PyAutoLabs/autofit_inference#6 (astra review 06 finding 2). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…r share autofit_inference exports warm_start, provider_wall_s and consumer_total_s as additive inference-summary@1 fields, with total_s the producer's combined attempt cost. The board (markdown and HTML) shows that total and appends the provider's share; the reader still sums no clocks. REFERENCE.md documents the additive fields. Refs PyAutoLabs/autofit_inference#6 (astra review 06 finding 4). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…3 pilot records) Schema validity alone passed on the zero-record B2 capture. The new check requires the committed fit receipt and snapshot to agree on the producer commit, never be the pre-pilot B2 capture, and hold exactly 223 pilot-flagged records; for the known B3/B3c producer revisions the 35/110/78 acceptance counts are pinned. Fails on the B2 capture (8eaea76), passes on the current one. Refs PyAutoLabs/autofit_inference#6 (astra review 06 finding 6). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
fetch --instance fit resolves autofit_inference main at 900648b5c665 (223 records, unchanged snapshot); board --offline re-renders the dashboard for the campaign freeze-rule and warm-start display changes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…df69441b Generated dashboard/receipt conflicts resolved by re-fetching the fit instance from producer main (223 records) and re-rendering offline. Co-Authored-By: Claude Fable 5.1 <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
This is the companion of PyAutoLabs/autofit_inference#7. Merge it after that PR. It is the Insight side of the B3c fixes from astra review 06 (autofit_inference#6). There are no scientific libraries, no compute and no contract version change.
Per item: finding, fix, test
1. Freeze rule (review finding 2). The
nextfield incampaigns.yamltold the next session to run the 297 deferred cells and then freeze. That contradicted the no-restart ruling and the rule that the freeze comes before any scored run.gaussian-x3-search-benchmarkand the taskgaussian_x3_search_wave1(in bothcampaigns.yamlandtasks/gaussian_x3_search_wave1.md) now state the same rule as autofit_inference protocol §7:gaussian_x3@2is frozen from the existing 17-row calibration before any scored run;updatedfield is set to 2026-10-14.4. Combined warm-start cost on the board (review finding 4). The producer now exports
warm_start,provider_wall_sandconsumer_total_sas additive fields. For warm-start rows,total_sis the combined attempt cost. The producer does the adding, so the reader still sums no clocks.board.total_value()shows that total and adds the provider's share, e.g.1150.158048399997 (incl. nautilus warm-start provider 1076.4696579999982). This appears in both the markdown and HTML tables. Producers without these fields render exactly as before.REFERENCE.mddocuments the additive fields.test_warm_start_total_shows_combined_cost_and_names_the_provider. It failed before the fix.inference-summary@1. The contract allows additive fields, and the meaning oftotal_sis set by each record's own definition text.@2already names the setups and prepared-problems contract, which the fit producer does not emit. The reader validates the producer's regenerated branch summary (223 records) as('ok', []).6. Snapshot refresh and acceptance check (review finding 6).
ec35be4. This does not reproduce on current main. The push-triggered refreshf2810fe(2026-10-08 19:54) had already captured autofit_inference900648b5c665with 223 records, and the board reads 35/223 accepted.tests/test_fit_acceptance.py. It requires that:pilot.For the known B3 producer revision (
0c87bf1) and the B3c one (162644e), it also pins the 35 accepted / 110 rejected / 78 not assessed counts. A later producer revision keeps only the 223-pilot-records invariant, so routine refreshes do not turn it red.8eaea76, 0 records) and passes on the current capture.pyauto-insight fetch --instance fit --mind ../PyAutoMind --out .resolved autofit_inferencemainto900648b5c665, with 223 records and status ok. Onlyrefreshed_atchanged in the receipt.pyauto-insight board --offline --mind ../PyAutoMind --out .re-rendered the dashboard, and the generated files are committed.main(registry.BRANCH), and the receipt-writing path cannot be pointed at a branch commit. Until that PR merges, the snapshot cannot carry the new warm-start fields or producer revision162644e5c41a. The scheduled or dispatched dashboard refresh picks it up, and the acceptance check already covers that revision.Findings that did not reproduce
Tests and gates
python -m pytest tests -q: 186 passed (main had 183; 3 new tests).ruff check .andruff format --check .: clean.bin/pyauto-insight check --offline --mind ../PyAutoMind: check: OK. Lens is 56 records atde37acfe; fit is 223 records at900648b5c665; the dashboard is current and the state is valid.Commits
6a8c689campaigns: one gaussian_x3@2 freeze rule418d6b5board: combined warm-start total with the provider share namedf5f69abtests: B3 acceptance check on the fit capture04c8026insight: refresh fit receipt and re-render the dashboard🤖 Generated with Claude Code