Repository navigation
refactor: simplify reported feedback and validate references at admission - #445
Merged
Merged
Conversation
|
Merge Oncall: @BobbyZhouZijian The merge oncall will route reviews and keep this pull request moving toward a clear decision. |
BobbyZhouZijian
marked this pull request as ready for review
September 13, 2026 18:46
BobbyZhouZijian
requested review from
Benjamin-eecs,
hanfeiyu and
simonucl
as code owners
September 13, 2026 18:46
BobbyZhouZijian
enabled auto-merge (squash)
September 13, 2026 18:47
6 of 8 tasks
BobbyZhouZijian
added a commit
that referenced
this pull request
Sep 13, 2026
Resolves the overlap with the ATIF training-data refactor (#446) and the reported-feedback simplification (#445): main's TrainingBatch/TrajectoryItem model is kept everywhere, this branch's names stay (CandidateBackend, CandidatePluginFactory, SupportsReceipt, the runtime module split), main's edit to the removed reef/runtime/adapters/executor_runtime.py is carried into reef/train/runtime.py, and the Terminal-Bench example imports the proxy runtime from reef.inference.http. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
3 tasks done
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.
Motivation
A supplied report could previously wait for missing inference records or be silently excluded from training by
judge(), an eligibility flag, or a score threshold. Validate report references when the report arrives and assemble supplied feedback directly, so broken training data surfaces as an error with its inputs retained.No accepted RFC for this contract change was found; this PR is a draft for interface review. Related work: #16 discusses grouped-batch rules; #444 overlaps the CORAL processor and its tests, and #432 overlaps dispatcher and recipe documentation.
Changes
judge()and its TRAIN/WAIT/NEVER decisions withmake_sample()returningReportSample. Keep existing group completion, deduplication, reservation, consumption, and retention behavior.metadata.training.eligibleand remove harness score-window filtering. Update SAO, TTTD, CORAL, and Cordis processors to assemble feedback directly.Compatibility and operational impact
This changes public processor, report, and configuration contracts:
judge()/ReportDecisiontomake_sample()/ReportSample; WAIT/NEVER decisions, eligibility helpers, and rejection counters are removed.metadata.training.eligiblefrom report payloads, including when its value istrue. New reports referencing unavailable records receive HTTP 400 immediately; clients must submit after the referenced inference records exist.max_score/max-scorefrom Cordis harness recipe configuration. Valid scored feedback is no longer filtered by that threshold.decide_group()behavior remain in place. No persisted schema or dependency changes are introduced.Verification
source .venv/bin/activate && pre-commit run --all-files— passed. The final additional ordered-group regression test also passed file-scoped pre-commit.GIT_CONFIG_GLOBAL=/dev/null GIT_CONFIG_SYSTEM=/dev/null .venv/bin/python -m pytest tests/ -n 4 -q --tb=short— 3410 passed, 48 skipped, 1 failed. The failure istest_bridge_catalogs_paired_checkpoint_metrics_and_blocks_before_second_optimizerintests/reef_service/test_slime_bridge.py: checkpoint storage reservation blocks the first job in this local environment. Reproduced the same failure on clean base commitc0927a6b.tests/reef_service/test_reported_feedback_processor.pypassed all 21 tests..venv/bin/python -m mypy— 4 errors in 2 unchanged files (lora_transport.pyandcheckpoint.py, distributed collective typing). Reproduced the same four errors on clean base commitc0927a6b.npm run check:docsindocs/sitewith Node 22 — passed (154 Markdown files, 39 RST files, 24 routes).git diff --check— passed.AI assistance
OpenAI Codex implemented the requested contract changes, migrated consumers and documentation, updated tests, ran verification, and prepared this PR under human direction. The human contributor remains responsible for reviewing and understanding the submitted changes and results.
Checklist
README.i18n.yaml, or do not affect README content.Review and merge
The Merge Oncall is assigned automatically. See the
maintenance model
for review and merge requirements.