Skip to content

refactor(api): how each slice of a sweep terminated is runs.record, saved as record.parquet, so objective always means the number - #1731

Merged
FBumann merged 1 commit into
claude/glossary-updatefrom
claude/sweep-records
Sep 25, 2026
Merged

FBumann merged 1 commit into
claude/glossary-updatefrom
claude/sweep-records

Conversation

@FBumann

@FBumann FBumann commented Sep 24, 2026 •

Copy link
Copy Markdown
Collaborator

Prompt: Also discuss some of the names, and if they have better alternatives — approved from the proposed list: "1. Yes". A later follow-up settled the attribute's number: "Runs.record or .records?" … "agree" (to .record).

Note

The following content was generated by AI.

result.objective is a float, but runs.objective was a table of how each slice terminated, and objective.parquet held a Record. That table is now runs.record and the file is record.parquet, matching the Record type and the RECORD_FILE constant. A spilled sweep's objective/ directory is now record/.

The attribute is singular to follow the sweep rule "Result's readers, one dimension wider, under the same names", as metrics already does. result.record (#1738) is one Record, and the sweep's record is a table of one per slice, written as record.parquet beside metrics.parquet.

This is a breaking change: an answer or archive saved before it is refused with "holds no 'record.parquet'". The layout stamp stays at 0, following its own rule ("zero while the layout is still moving").

This is stacked on the glossary PR.

Verification

ruff check, ruff format --check, pyrefly check and the full suite (4030 passed, 319 skipped, 1 xfailed), in a uv environment because pixi was not available. The tests that asserted the old names and file listings now assert the new ones; no coverage was dropped.

The singular name was applied to this PR and every PR stacked on it by rebuilding each commit's tree with one scripted rename, and each rebuilt branch was re-run through the same gates. Every rebuilt commit differs from its original only on lines naming the record, apart from one line ruff format re-joined.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VgkRT9Kpb2iNvL6dpV8VER

@codspeed

codspeed Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 24 untouched benchmarks
⏩ 82 skipped benchmarks1


Comparing claude/sweep-records (e0e940c) with claude/glossary-update (1f3d1d1)

Open in CodSpeed

Footnotes

  1. 82 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩

@read-the-docs-community

read-the-docs-community Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

@read-the-docs-community

read-the-docs-community Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

@FBumann
FBumann added this pull request to stack #1735 September 24, 2026 14:02
@FBumann
FBumann force-pushed the claude/sweep-records branch from 8262401 to e63e501 Compare September 24, 2026 17:35
@FBumann
FBumann force-pushed the claude/sweep-records branch from e63e501 to a9042a1 Compare September 24, 2026 18:57
…aved as record.parquet, so objective always means the number

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VgkRT9Kpb2iNvL6dpV8VER
@FBumann
FBumann force-pushed the claude/sweep-records branch from a9042a1 to e0e940c Compare September 24, 2026 21:05
@FBumann FBumann changed the title refactor(api): how each slice of a sweep terminated is runs.records, saved as record.parquet, so objective always means the number refactor(api): how each slice of a sweep terminated is runs.record, saved as record.parquet, so objective always means the number Sep 24, 2026
@FBumann
FBumann merged commit 7c14833 into main Sep 25, 2026
14 checks passed
@FBumann
FBumann deleted the claude/sweep-records branch September 25, 2026 06:07
fluxopt-release-bot Bot added a commit that referenced this pull request Sep 25, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.0.1-alpha.354](v0.0.1-alpha.353...v0.0.1-alpha.354)
(2026-09-25)


### Refactoring

* **api:** a sweep's answer is a Sweep, read back with load_sweep and
scan_sweep ([#1732](#1732))
([24b1238](24b1238))
* **api:** how each slice of a sweep terminated is runs.record, saved as
record.parquet, so objective always means the number
([#1731](#1731))
([7c14833](7c14833))


### Documentation

* the glossary defines answers, sweeps, relations and assumptions, and
no longer shows build taking a Program
([#1730](#1730))
([25d594b](25d594b))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: fluxopt-release-bot[bot] <307443024+fluxopt-release-bot[bot]@users.noreply.github.com>
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