fix: run parents locally and consolidate dashboard refresh feedback - #218
Merged
Merged
Conversation
evalstate
marked this pull request as ready for review
September 11, 2026 16:41
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
/datastorage; remove its Bucket volume and use acknowledged Hub SDK copies to the existing artifact Bucket.Job.create()/native resume. Keep control-owned records read-only to the parent; refresh control intent through the API.job.log, which is outside native trial-directory sanitization. Preserve scrubbed per-trial logs.Additional committed work
consolidated Run detail refresh strip, cancellation-test cleanup, and their
authorization history.
reinterpreting native Harbor evidence. Error details and retry access remain
available in a collapsed overlay without page movement.
are not part of this PR; their approval records are included without silently
publishing the in-progress edits.
Harbor boundary review
Pinned
dcd0a7ac74b7bd417780d9cb27cd819c7ec82e4e:src/harbor/job.py:Job.create,Job.run,on_trial_started,on_trial_ended, native resume and_trial_completion_lock.src/harbor/trial/trial.py,trial/hooks.py,trial/queue.py: actual Trial lifecycle,_emit,_scrub_jobs_dir,TrialHookEvent, and retry cleanup/backoff.src/harbor/models/job/config.py,models/job/result.py,models/trial/result.py,models/job/plugin.py: authoritative configuration/results and plugin contract.src/harbor/verifier/verifier.py,environments/hf_sandbox.py,environments/tar_transfer.py: awaited transfer followed by local reward lookup.src/harbor/cli/plugins/harbor_hub.py,cli/job_plugins.py,upload/uploader.py,upload/storage.py,storage/base.py: native hosted upload is tied to Harbor's service; it is not an HF Bucket transport for the existing file layout.Relevant pinned history was reviewed; the trial source at
e1be9bd39c368f88a27fee4cbd26655e9994ee5astill dispatches END before scrubbing. Replace this private integration when a reviewed pin supplies a supported post-sanitization hook or equivalent native ordering. Revision mismatches fail explicitly. Native configurations, identities, costs, rewards, and resume remain authoritative; durable schemas are unchanged.For the console change, also checked native
JobResult,JobStats,update_progress_counts(),TrialResult, andTimingInfoin the model filesabove, plus
src/harbor/viewer/scanner.py(get_job_result,get_trial_result,configuration readers) and
viewer/server.pyjob/trial GET endpoints. The newUI represents browser fetch feedback only; no schema, API, persisted value, or
Harbor progress meaning changes.
Validation
Combined GitHub CI passed at
0ec09b0c2d94fdfe3d545dc38d3c22487cfb6f87.Combined local validation excludes concurrent uncommitted workspace edits:
linux/amd64; offline Python 3.12 native-binding smoke passed.Disclosed validation limitations
slophammer-py check . --baselinecannot run successfully because the repository has noslophammer-baseline.json. The ordinary check reports no findings; DRY reports zero candidates.Operational trade-offs
Transfers are acknowledged snapshots, not a cross-object transaction or streaming log service. Abrupt termination can lose unacknowledged outputs/cost evidence. Errored retry-enabled trial diagnostics are conservatively delayed until final publication, and incomplete snapshots can repeat work under native resume. Native text scrubbing retains its existing best-effort limits, including skipped binary/unreadable files.
Deploy a matching reviewed worker image and control launch template together; mixed versions fail early. No compatibility mount or dual writer is added. Merge and matched parent-image publication/control deployment were separately
authorized. Cutover remains gated on idle execution; no running benchmark may
be interrupted and no benchmark launch or credential movement is authorized.