chore: archive the advisor calibration harness beside its results - #41
Merged
voorhs merged 2 commits intoAug 18, 2026
Conversation
These scripts produced experiments/advisor-calibration-laptop6gb/results/ but lived in deeppavlov/AutoIntent under scripts/. They were removed from that repo while preparing AutoIntent#291 for merge: they are validation instruments rather than library code, and one of them was imported by a test from scripts/, which is not a package — a mypy failure that blocked the PR. Copied verbatim from AutoIntent feat/issue39-calibration-scripts @ b38f3c3a (the head of AutoIntent#348, now closed in favour of this archive). reproduce.sh is deliberately left untouched: it still runs the harness from an AutoIntent checkout pinned to that branch, which continues to work. harness/README.md records what would have to change to run from this copy instead, and warns that deleting the upstream branch is the one action that breaks reproduction.
The archive was insurance that nobody used: reproduce.sh still cloned AutoIntent and ran the harness out of its scripts/, pinned to the branch feat/issue39-calibration-scripts. That branch has since been deleted, so the pin no longer resolves and reproduction is already broken. Make the experiment self-contained. The only thing it takes from deeppavlov/AutoIntent is the advisor library, which is where the advisor belongs and must not be implemented anywhere else. - reproduce.sh runs ./harness/ by absolute path; AUTOINTENT_REF becomes AUTOINTENT_COMMIT (b38f3c3a) plus AUTOINTENT_PR (348). The commit is fetched by name, then via refs/pull/348/head, then by full fetch, and checked out detached. No branch name on the path from clone to run. b38f3c3a's src/ is identical to 85848f2, the commit that produced results/ — they differ only under scripts/, which is no longer read. - The two shell drivers assumed they lived in <autointent>/scripts/. Split that into HARNESS_DIR (here) and AUTOINTENT_DIR (the venv), and resolve relative *.yaml preset paths against HARNESS_DIR, since the cwd is now a different repo. - test_calibration_tracker.py bootstrapped sys.path from parents[2]/"scripts", which does not exist here — it could not import its subject at all. Point it at its own directory. - Drop the "do not delete that branch" warnings; record the commit and the PR that owns it instead, and document what moving the pin past AutoIntent#291 would cost. 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.
Archives the calibration harness beside the results it produced, and makes this experiment self-contained: it no longer references an AutoIntent branch anywhere.
Why
These seven scripts (plus their unit test) lived in
deeppavlov/AutoIntentunderscripts/. They were removed from that repo while preparing AutoIntent#291 for merge:scripts/is load-bearing, sincecheck-schema.yamlrunspython -m scripts.generate_json_schema_configfrom it.test_calibration_tracker.pyimportedcalibrate_advisorfromscripts/, which is not a Python package. That import was one of themypyfailures blocking #291.No branch references
The first draft of this PR asked AutoIntent to preserve
feat/issue39-calibration-scriptsforever, becausereproduce.shpinned to it. That was the wrong shape — an experiment should not hold another repo's branch lifecycle hostage — and it was also already too late:The branch is gone. The commit is not, and never will be: GitHub keeps every commit that belonged to a PR under
refs/pull/<N>/head, merged or closed or neither. So the pin is now a commit plus the PR that owns it:reproduce.shfetches that commit by name, falls back torefs/pull/$AUTOINTENT_PR/head, falls back to a full fetch, then checks out detached. Both fetch paths were verified against the live remote from an empty repo.reproduce.shnow runs this copyPreviously deferred to you as a judgement call; taken now, because leaving it was what made the branch load-bearing.
reproduce.shexecutesharness/by absolute path and uses the AutoIntent checkout for one thing only: the advisor library and the venv around it. That is the single dependency this experiment should have, since the advisor is implemented in AutoIntent and must not be implemented anywhere else.Making that work needed three path fixes, all of which are consequences of the files no longer living in
<autointent>/scripts/:run_calibration_banking77.shREPO_ROOTintoHARNESS_DIR(here) andAUTOINTENT_DIR(the venv). Relative*.yamlpreset paths now resolve againstHARNESS_DIRfirst — the cwd is someone else's repo now, soPRESETS=coverage_preset.yamlwould otherwise silently miss.run_phase2_isolated.shAUTOINTENT_DIR.test_calibration_tracker.pysys.pathbootstrap pointed atparents[2]/"scripts", which does not exist in this repo — the test could not import its own subject. Now points at its directory.Plus four text-only path corrections in docstrings/help (
scripts/…→harness/…). The advisor API surface the harness uses is untouched.The pin is exact, not approximate
README.mdcredits85848f2with producingresults/. The pinnedb38f3c3adiffers from it only underscripts/, which this experiment no longer reads:src/autointent/is identical between the two, so the pinned library is literally the one that produced the archived numbers.Moving the pin forward, when you want to
The pin sits behind
devdeliberately. AutoIntent#291 renamesautointent._advisorto the publicautointent.advisor, renamesinspect→estimateandstats_from_dataset_obj→dataset_stats, movesPreflightErrortoautointent.advisor, and flipsPipeline.fit(preflight=…)to default"off"— so bumpingAUTOINTENT_COMMITpast it needs code edits here, not just a new SHA. #291 also changes advisor behaviour, so a re-run against a newer pin is a new measurement rather than a reproduction ofresults/.harness/README.mdspells out both halves.Not changed
ISSUE_COMMENT.mdstill says "AutoIntent @feat/feasibility-check85848f2" — it is an archived transcript of a comment already posted to issue #39, and it already carries the commit. Left verbatim rather than rewritten after the fact.Base
Targets
feat/advisor-calibration-laptop6gbrather thanmain, sinceexperiments/advisor-calibration-laptop6gb/only exists there — this stacks on #40.