Skip to content

feat(od): activate od-base, remove od-tiny (light CI) - #7

Merged
Mathis (echobt) merged 2 commits into
mainfrom
ci/od-base
Oct 13, 2026
Merged

Mathis (echobt) merged 2 commits into
mainfrom
ci/od-base

Conversation

@echobt

@echobt Mathis (echobt) commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Activate od-base as the only test/production OD preset; remove od-tiny everywhere.

  • protocol: drop od-tiny from OD_PRESETS and ODSpec.preset Literal; MLM seq_len must be 1024.
  • opendecision adapter: N = max_len (1024) mandatory, tiny_ok branch removed.
  • schema: od-tiny removed from RunManifest enum.
  • tests: shared od_body fixture now od-base (768/12/12/2, vocab 50432, seq 1024, param_count 123,753,984).
  • Light CI: tests that build/train a real OD model (now od-base, 124M-143M params) are marked od and excluded from PR CI via -m "not od" (new marker in pyproject).

grep -rn od-tiny . is empty.

Summary by CodeRabbit

  • Model Configuration
    • The od-tiny OpenDecision preset is no longer supported; od-base and od-large remain available.
    • OpenDecision MLM manifests must use the sequence length required by the selected preset. Manifests with a mismatched sequence length are rejected.
  • Testing
    • Tests that build or run real OpenDecision models are excluded from standard pull request test suites.

@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 11 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 26b65135-eca4-4a5a-a240-f96c68350977
📥 Commits

Reviewing files that changed from the base of the PR and between 5670e51 and a1158c2.

📒 Files selected for processing (2)
  • tests/e2e/test_network_service_proof.py
  • tests/e2e/test_service_network_v2_e2e.py

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 83013149-65d0-4dbd-9789-3df380a258b9
📥 Commits

Reviewing files that changed from the base of the PR and between f0ccdce and 5670e51.

📒 Files selected for processing (19)
  • .github/workflows/ci.yml
  • docs/schemas/RunManifest.json
  • pyproject.toml
  • src/hypertrain/models/opendecision/__init__.py
  • src/hypertrain/protocol/messages.py
  • src/hypertrain/protocol/messages_v2.py
  • tests/auditor/test_island_bisect_v2.py
  • tests/auditor/test_island_replay_v2.py
  • tests/auditor/test_od_bisect.py
  • tests/challenge/test_authority_snapshot_v2.py
  • tests/challenge/test_carry_genesis_v2.py
  • tests/e2e/test_service_network_v2_e2e.py
  • tests/layout/test_od_island_v2.py
  • tests/miner/test_island_launch_v2.py
  • tests/models/test_opendecision.py
  • tests/protocol/test_network_v2.py
  • tests/protocol/test_od_fields.py
  • tests/relay/test_transport_v2.py
  • tests/trainer/test_arch_dispatch.py
💤 Files with no reviewable changes (1)
  • docs/schemas/RunManifest.json

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Walkthrough

The changes remove od-tiny from the OpenDecision preset contract, update sequence-length validation and related tests, add OD test coverage, and mark OD tests for exclusion from the configured CI pytest runs.

Changes: OpenDecision preset and CI test updates

Layer / File(s) Summary
Preset contract and validation
src/hypertrain/protocol/messages.py, src/hypertrain/models/opendecision/__init__.py, src/hypertrain/protocol/messages_v2.py, docs/schemas/RunManifest.json, tests/protocol/test_od_fields.py, tests/trainer/test_arch_dispatch.py
The preset definitions and schema no longer include od-tiny. MLM manifest validation requires the preset’s maximum sequence length, and the V2 OD MLM check requires 1024. Related tests now use od-base.
OD test coverage and marking
tests/miner/test_island_launch_v2.py, tests/auditor/*, tests/challenge/*, tests/e2e/test_service_network_v2_e2e.py, tests/layout/test_od_island_v2.py, tests/models/test_opendecision.py, tests/protocol/test_network_v2.py, tests/relay/test_transport_v2.py, pyproject.toml
OD-related tests are marked od. A new two-rank worker test compares execution with emulation for MLM, decision, and distillation objectives, and checks for the rank-0 trace.
CI selection for marked tests
.github/workflows/ci.yml
The sharded and slow-suite pytest commands exclude tests marked od.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~12 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 5670e

No actionable merge-blocking issue was established. The OD test exclusion appears to preserve the configured CI runs.

Pre-merge checks · Passed 4 · Failed 1

Failed Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 18.18% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 22 functions across 16 files. (2 skipped:… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks (4 passed)
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly summarizes the main changes: activating od-base, removing od-tiny, and using light CI.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

Docstring coverage is 18.18% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 22 functions across 16 files. (2 skipped: 2 unsupported.)

✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@echobt
Mathis (echobt) merged commit 1a8f91e into main Oct 13, 2026
13 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.

1 participant