Skip to content

Rebuild OpenBoost as a programmable v1 boosting foundation - #23

Merged
jxucoder merged 122 commits into
mainfrom
codex/gpu-python-foundation-design
Sep 6, 2026
Merged

jxucoder merged 122 commits into
mainfrom
codex/gpu-python-foundation-design

Conversation

@jxucoder

@jxucoder jxucoder commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Summary

Rebuild OpenBoost as a programmable boosting foundation for researchers and agents. Retire the previous production implementation and replace it with public CPU components for data, statistics, tree growth, objective geometry, immutable update transactions, stopping, independent runs, and persisted inference. This is a breaking redesign, not a drop-in replacement or a completed v1 release.

The branch includes the full accumulated v1 implementation and evidence:

  • Twelve CPU recipes covering regression, classification, ranking, quantiles, multi-output, counts/positive targets, survival, Normal and Formula models.
  • Explicit preparation reuse, independent validation stopping, and a structural result contract for external recipes.
  • Installable expectile, cohort-split, penalized-leaf, and ordered-update development extensions with independent checks and plugin-free inference evidence.
  • Frozen data/preprocessing, baseline and current workers, validation selection, artifact integrity, and scale-bound multi-output quality reporting.
  • English planning, acceptance criteria, sprint records, learning records, and retained raw successes and failures.

Validation

At branch head 114bf80:

  • CPU regression: 844 tests passed.
  • CI-scope Ruff checks passed.
  • Strict MkDocs build passed.
  • Offline wheel and source distribution build passed.

Earlier sprint records retain installed-extension and real-data validation evidence. Current full Covertype execution failed all five folds at the unchanged 90-second fit cap; no models were produced. The next engineering step is bounded profiling on the same workload.

Remaining boundaries

Current v1 CUDA execution is not implemented. Full required application searches, competitive quality/cost, formal independent authoring evaluations, delivery coverage, and external adoption remain open. Internal extension and small worker checks do not close those gates. This PR preserves those limitations rather than declaring v1 acceptance.

Execution priorities and reflections are recorded in v1-sprints/, with the current direction in Sprint 038 and the latest counterexample in Sprint 049. Historical tests for the retired implementation are excluded from current v1 discovery.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-06T21:23:00.375821Z 114bf80 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@jxucoder
jxucoder merged commit 078ca61 into main Sep 6, 2026
5 checks passed
@jxucoder
jxucoder deleted the codex/gpu-python-foundation-design branch September 6, 2026 21:17

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 114bf8080e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

delta = (
term.value
if isinstance(term, ConstantTerm)
else term.learner.predict(data) @ term.mapping

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Cache binning across ensemble terms

For any model containing multiple tree terms, this branch calls Tree.predict(data) once per term, and every such call recomputes Binning.transform across all rows and features. Built-in recipes repeatedly predict the growing ensemble during each transaction, so an R-round fit performs O(R²) full-data re-binnings, while standalone inference re-bins once per tree; this makes ordinary shallow ensembles prohibitively expensive on larger inputs. Cache transformed data by binning identity or apply proposal deltas to the accepted raw caches instead; the current four-round Covertype validation already exceeds its fit budget.

AGENTS.md reference: AGENTS.md:L79-L82

Useful? React with 👍 / 👎.

Comment thread benchmarks/v1/judge.py
Comment on lines +105 to +106
data = path.read_bytes()
_require(hashlib.sha256(data).hexdigest() == entry["sha256"], "artifact hash mismatch")

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Reject empty successful model artifacts

When a producer records the SHA-256 of an empty model file, _artifact accepts it because only the digest is checked, and a status="pass" case can therefore make judge() report integrity_pass=True despite having no model that can be reloaded or used for the required prediction round trip. Reject zero-length model artifacts before accepting a successful case; empty worker logs can remain valid through a role-specific check.

AGENTS.md reference: AGENTS.md:L141-L142

Useful? React with 👍 / 👎.

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.

1 participant