Repository navigation
Bridge causal data sources into shared SL - #877
Merged
Merged
Conversation
[Medium impact] The PR appears safe to merge; no actionable issues were found. SummaryAdds
No actionable issues were found. Review conclusions are based on code inspection; tests were not run during this review.
|
4 of 6 tasks
6 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.
Description
Connect online ODS, resident tensor and resident LeRobot sources to the shared SL trainer through
SequenceBatchSource. An explicit, versioned encoder selects causal model inputs, targets and loss masks; the adapter preserves canonical validity masks and sample provenance without inferring action semantics.Exact resume is admitted only for explicitly immutable, unbudgeted resident data. Actual tensor content, schema, window, encoder version and semantic metadata are bound to checkpoint identity; storage locations and read/cache diagnostics are excluded. Live or quota-managed sources can train and save model/optimizer snapshots, but exact resume is rejected before changing model, optimizer, RNG, sampling or output state. Start/stop, refill, waits and delivery quotas remain source/caller-owned.
The optional source preflight runs inside the existing collective checkpoint validation, so a failure on one rank reaches every rank. Two CPU examples demonstrate BC-style action targets and causal state-transition targets. No dependencies or checkpoint formats are added.
Main synchronization
Merged
main@e33edd0c7, including the already-merged DDP infrastructure (#864), RWM model extension (#859) and catalog compatibility fixes (#878). Resolved all six conflicting files while retaining both the current main content and the sequence bridge/recovery checks. The PR now contains only the ODS-to-SL layer: 15 files, with no duplicate DDP implementation or catalog repairs. It targetsmaindirectly and has no outstanding PR dependency.Type of change
Validation
Validated the synchronized head in the existing Python 3.11 conda environment:
sl_data_sourceCLI encoders (bcandtransition) completed four CPU updates and wrotelast.pt.black .left all 1,708 Python files unchanged; whitespace, source headers, annotations, syntax and public-export checks passed.Install test packagefor over 30 minutes and had not produced a test result at merge preparation; no remote main-test pass is claimed. The repository merge rules do not require that pending check.Existing coverage already checks window alignment, owned masks/provenance, delivery debits on encoding failure, immutable content/schema/window/encoder/language identity, storage relocation, exact dropout/optimizer/sampler recovery, and collective refusal without partial state mutation. No tests were added for this conflict-only update.
Live-buffer/producer snapshots and exact quota recovery remain unsupported. The examples use synthetic data and make no robot-policy convergence or performance claim. A full-site Sphinx build was not rerun for this conflict-only synchronization; API coverage and relevant context/package checks were run.
Checklist
black .to format the code base.