Skip to content

fix: reject resumes across incompatible dataset and model identities - #5

Open
rudycelekli wants to merge 1 commit into
firecrawl:mainfrom
rudycelekli:fix/resume-measurement-identity
Open

rudycelekli wants to merge 1 commit into
firecrawl:mainfrom
rudycelekli:fix/resume-measurement-identity

Conversation

@rudycelekli

Copy link
Copy Markdown

Resuming a label currently inherits matching qids even after the dataset content or driver model changes. The runner then stamps the current config onto inherited rows, concealing mixed measurements. Records already carry gt_sha and model, but resume never checks them.

Require retained rows to match the current dataset hash and model. Missing legacy identity fails with an actionable fresh-run hint; existing records remain unchanged. Dead rows being retried still work normally. Propagate the reserved configuration-error status through orchestration and the public CLI so rejected saved cells cannot subsequently be rescored or presented under the new invocation.

Validation: 9 new regressions fail against upstream production code; all 144 tests pass after the fix on Python 3.11. Tests cover unknown/mismatched identity, compatible resume, dead retries, RESUME_KEEP_DEAD, original file preservation, production identity wiring, suite rejection, and public CLI propagation. No provider calls. git diff --check passes.

Compatibility: legacy retained rows without dataset/model stamps need a fresh run. This validates dataset/model identity; other harness and remote-server changes remain outside this fix.

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