feat: add operator-reviewed infrastructure replacement runs - #220
Merged
Conversation
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
JobPlan.aggregatefor the combined native result. The run page separates Original, Replacements and Combined, with explicit selected-cohort versus all-incurred reported cost coverage.Native ownership and approved bridge
Checked Harbor
dcd0a7ac74b7bd417780d9cb27cd819c7ec82e4eand relevant history, including the publicJobPlanextraction and regrade derivation:src/harbor/job_plan.py:resolve_task_configs,build_trial_configs,resolve_metrics, public constructor,aggregate,aggregate_stats.src/harbor/job.py:Job.create,Job.run, native expansion/resume and regrade construction.src/harbor/models/job/{config,lock,result}.pyandmodels/trial/{config,result}.py: native configuration, identities, locks, results and accounting.src/harbor/tasks/client.py: repeated task download ordering.src/harbor/metrics/{base,mean}.pyandutils/pass_at_k.py: native metric shapes and calculations.src/harbor/hub/client.py: hosted relaunch/combined behavior is not the existing Bucket integration.The only new durable fact is optional
RunRecord.operator_selection: an operator review identifying an existing run, exact native trial IDs and a native source-evidence fingerprint. This is the separately approved, revision-scoped bridge for cross-run selection/provenance/coverage, not a renamed native regrade action. Replace it at the first reviewed Harbor revision providing the equivalent storage-neutral contract; no removal revision has been identified.No new scheduler, metric implementation, trial identity, result format, SQLite table, persistent resource, source-artifact rewrite or execution-state override. Parent preflight independently verifies the same trusted ancestry before
Job.create. Existing compiled components are inherited exactly; direct-config catalog restrictions are not broadened.Validation
Author suites passed: 1,523 TypeScript tests, 75 browser tests, 394 agent-package tests, and 102 CLI tests. New backend modules and the UI exceed 85% coverage; changed Python modules exceed 85%. Independent review found two high-severity issues, both fixed and re-reviewed:
sha256:source fingerprints now agree across Python, TypeScript transport, durable schema, ancestry and parent preflight. A real cross-language regression covers that path.Final feature-snapshot validation is complete: root coverage 89.10%; Ruff/format/ty, formatting/lint/typecheck/build, dependency audits and committed generated-output checks passed. Both normal-network
linux/amd64Docker builds passed locally and in feature-head CI. Ordinary Slophammer scanned 27/27 production files without findings; DRY reported zero candidates. Final independent design review: GO. The documentation-only final evidence addendum also passed fresh complete CI at exact head71bde2cd4dcd759f010499171804921c4cb32ff3, including both Docker builds.Limits and operations