Skip to content

Keep main up-to-date with latest nightly improvements#60

Merged
FTRobbin merged 37 commits into
mainfrom
haobin-update-main
May 18, 2026
Merged

Keep main up-to-date with latest nightly improvements#60
FTRobbin merged 37 commits into
mainfrom
haobin-update-main

Conversation

@FTRobbin

@FTRobbin FTRobbin commented May 18, 2026

Copy link
Copy Markdown
Collaborator

Note: generic updates to the nightly should ideally be first pushed to main, then downstream to algorithm branches. We hacked directly on Vanilla this time, should explain sooner.

The workflow should be like this:

In the beginning:

      - - - - - > algo 1 
     / 
    /
main

I hacked on algo 1 and improved the nightly there.

      - - - - - > algo 1 - - - - - - - - - > algo 1* + improved nightly
     /
    /
main

Let me factor out the generic parts that can be reused.

      - - - - - > algo 1 - - - - - - - - - > algo 1* + improved nightly
     /
    /
main - - - - - - - - > improved nightly (new PR to main, reviewed separately)

Now the other algorithm branches can pull from main to benefit from the improvement, and the diffs show only the algorithm-specific changes.

      - - - - - > algo 1 - - - > algo 1 + improved nightly (merge with main)  - - - - - - > algo 1* + improved nightly
     /                            /
    /                            /
main - - - - - - - - > improved nightly

FTRobbin and others added 30 commits April 9, 2026 14:10
Extract toolchain update + benchmarks clone into infra/setup.sh, and have
nightly.sh skip that setup when run by the combined-nightly orchestrator
(which sets POACH_NIGHTLY_COMBINED=1 and supplies POACH_BENCHMARKS_DIR).
Standalone behavior is unchanged.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
When the combined-nightly orchestrator runs this branch in a worktree, it
passes POACH_BENCHMARKS_DIR pointing at a shared clone above the worktree
(so we don't re-clone per branch). The benchmark_root.relative_to(REPO_ROOT)
call then raises ValueError. Add display_path() that falls back to the
absolute path when the input isn't a subpath of REPO_ROOT.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Emit benchmark_path relative to the suite's train/ subdir (matching the
serialize branch's convention) so the combined-nightly comparison table
can join rows by benchmark_path without the orchestrator having to strip
the prefix.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Match the serialize branch exactly so the combined-nightly merger can join
rows by benchmark_path with no normalization.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Serialize emits `<name>.egg`, not `<name>` — the previous edit over-corrected.
Drop the .with_suffix("") so vanilla and serialize both emit `<name>.egg`
and the merger joins rows correctly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Comment thread infra/nightly.py Outdated
#!/usr/bin/env python3

from __future__ import annotations
#!/user/bin/env python3

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ajpal Could you confirm this change?

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, this looks like a mistake. Should be #!/usr/bin/env python3

Comment thread infra/nightly-resources/web/index.js Outdated
} catch (error) {
const response = await fetch("./data/data.json");
if (!response.ok) {
statusNode.textContent = `Failed to load data/data.json: ${error}`;

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

error seems undefined.

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops, good catch. We can do statusNode.textContent = Failed to load data/data.json: ${response.status} ${response.statusText};

@FTRobbin FTRobbin assigned FTRobbin and unassigned FTRobbin May 18, 2026
@FTRobbin FTRobbin requested a review from ajpal May 18, 2026 17:53

@ajpal ajpal left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for porting this back up!

Comment thread infra/nightly-resources/web/index.js Outdated
} catch (error) {
const response = await fetch("./data/data.json");
if (!response.ok) {
statusNode.textContent = `Failed to load data/data.json: ${error}`;

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops, good catch. We can do statusNode.textContent = Failed to load data/data.json: ${response.status} ${response.statusText};

Comment thread infra/nightly.py Outdated
#!/usr/bin/env python3

from __future__ import annotations
#!/user/bin/env python3

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, this looks like a mistake. Should be #!/usr/bin/env python3

@FTRobbin FTRobbin merged commit dfbd926 into main May 18, 2026
1 check passed
@FTRobbin FTRobbin deleted the haobin-update-main branch May 18, 2026 21:25
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.

2 participants