Skip to content

feat(evolve-kernel): per-iteration progress table in detail page - #35

Merged
myrfy001 merged 1 commit into
HuangPuStar:next-appfrom
6eanut:feat/ok-iteration-progress
Sep 28, 2026
Merged

myrfy001 merged 1 commit into
HuangPuStar:next-appfrom
6eanut:feat/ok-iteration-progress

Conversation

@6eanut

@6eanut 6eanut commented Sep 20, 2026

Copy link
Copy Markdown
Contributor

The metric cards only surface the last iteration's speedup and the library's current best, so a run that is stuck — or that regressed after a good iteration — looks identical to one that is climbing, and the per-iteration "goal" (what the optimizer set out to do) was not visible anywhere.

Add an "Iteration Progress" panel rendered from the already-fetched /iterations payload: one row per iteration with status, exec time, speedup, library size, duration and goal. Rows that set a new best exec time are marked green with a "▲" tag — the "is it actually improving?" signal.

  • export formatMs from ok-kernel-library.js so both tables share one formatter instead of duplicating it
  • coerce perf.speedup with Number() before toFixed: the value is stored straight from an LLM-generated perf harness report with no numeric validation, so a malformed row now degrades to "—" instead of throwing
  • add tests/test_iteration_progress.py pinning the reader fields the table renders, plus that a partially written iteration record does not take the whole list down

The metric cards only surface the *last* iteration's speedup and the library's
current best, so a run that is stuck — or that regressed after a good
iteration — looks identical to one that is climbing, and the per-iteration
"goal" (what the optimizer set out to do) was not visible anywhere.

Add an "Iteration Progress" panel rendered from the already-fetched
`/iterations` payload: one row per iteration with status, exec time, speedup,
library size, duration and goal. Rows that set a new best exec time are marked
green with a "▲" tag — the "is it actually improving?" signal.

- export `formatMs` from ok-kernel-library.js so both tables share one
  formatter instead of duplicating it
- coerce `perf.speedup` with Number() before toFixed: the value is stored
  straight from an LLM-generated perf harness report with no numeric
  validation, so a malformed row now degrades to "—" instead of throwing
- add tests/test_iteration_progress.py pinning the reader fields the table
  renders, plus that a partially written iteration record does not take the
  whole list down
@myrfy001
myrfy001 merged commit 939da74 into HuangPuStar:next-app Sep 28, 2026
0 of 4 checks passed
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