fix(packaging): require fast-mlsirm on every supported runtime - #995
seonghobae wants to merge 10 commits into
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (3)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough프로젝트의 최소 Python 버전을 3.12로 상향했습니다. ChangesPython 실행 환경 계약
Estimated code review effort: 1 (Trivial) | ~5 minutes Merge Risk: 🔵 Low · up to Mergeable with explicit owner awareness: deployments still using Python 3.10 or 3.11 must upgrade to Python 3.12+ before adopting this release, otherwise installation will be rejected rather than running without the required evaluation dependency. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 1 files. (2 skipped: 2 unsupported.) ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
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. Comment |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Current integration finding, 2026-09-10. The explicitly authorized emergency merge of exact head The conflict is not permission or review waiting: current main includes Also reverified that #1030 |
|
Protected-main reconciliation completed without history rewrite. Fresh compare is 10 ahead / 0 behind and the resulting semantic diff is still exactly the five #995 owner files: Conflict resolution is intentional rather than mechanical: current main's Keep this PR Draft until fresh exact-head CI/review for |
|
@opencode-agent review Please review only current head |
There was a problem hiding this comment.
Pull request overview
OpenCode reviewed the current-head product diff. Coverage is a separate gate.
Changed files
conductor/tech-stack.md— repository behaviorpyproject.toml— repository behaviorrequirements.lock— repository behaviortests/test_fast_mlsirm_runtime_contract.py— regression suiteuv.lock— repository behavior
Changed behavior
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Repository file: tech-stack.md"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Repository file: tech-stack.md"]
R1 --> V1["required checks"]
Evidence --> S2["Repository file: pyproject.toml"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Repository file: pyproject.toml"]
R2 --> V2["required checks"]
Evidence --> S3["Repository file: requirements.lock"]
S3 --> I3["repository behavior"]
I3 --> R3["Review risk: Repository file: requirements.lock"]
R3 --> V3["required checks"]
Evidence --> S4["Test: test_fast_mlsirm_runtime_contract.py"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test: test_fast_mlsirm_runtime_contract.py"]
R4 --> V4["targeted test run"]
Evidence --> S5["Repository file: uv.lock"]
S5 --> I5["repository behavior"]
I5 --> R5["Review risk: Repository file: uv.lock"]
R5 --> V5["required checks"]
Findings
No source-backed product finding is synthesized from the coverage gate. A coverage miss belongs in the status comment.
- Head SHA:
29b7f5457ee6a9c2a1f25f1e564f798d419bacc9 - Workflow run: 34730081810
- Workflow attempt: 1
- Coverage gate:
failure
Review outcome
Coverage is a gate, not the review. This body reviews the changed product files.
Changed-File Evidence Map
flowchart LR
PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
Evidence --> S1["Repository file: tech-stack.md"]
S1 --> I1["repository behavior"]
I1 --> R1["Review risk: Repository file: tech-stack.md"]
R1 --> V1["required checks"]
Evidence --> S2["Repository file: pyproject.toml"]
S2 --> I2["repository behavior"]
I2 --> R2["Review risk: Repository file: pyproject.toml"]
R2 --> V2["required checks"]
Evidence --> S3["Repository file: requirements.lock"]
S3 --> I3["repository behavior"]
I3 --> R3["Review risk: Repository file: requirements.lock"]
R3 --> V3["required checks"]
Evidence --> S4["Test: test_fast_mlsirm_runtime_contract.py"]
S4 --> I4["regression suite"]
I4 --> R4["Review risk: Test: test_fast_mlsirm_runtime_contract.py"]
R4 --> V4["targeted test run"]
Evidence --> S5["Repository file: uv.lock"]
S5 --> I5["repository behavior"]
I5 --> R5["Review risk: Repository file: uv.lock"]
R5 --> V5["required checks"]
OpenCode Review Overview
Coverage evidence did not pass, so approval is blocked. The formal pull-request review is the source-backed diff review, not this status comment. |
|
Fresh owner-path correction for exact head The current OpenCode review block is now reproduced as a central trusted-dependency-materialization defect, not a #995 source/test finding. Canonical owner is Do not add a #995 no-op/source-neutral freshness commit or rerun OpenCode against the unchanged protected materializer policy. Order is now: |
|
@opencode-agent review Fresh current-head review requested for exact |
|
Correction to my immediately preceding Accordingly, no additional review/rerun is requested until that owner path changes. Normal order is |
|
Fresh protected-base sweep: Preserve the Python>=3.12 / unconditional fast-mlsirm runtime contract and repair ancestry ordinary/non-force onto the new protected tip. Then reacquire exact-head/current-base packaging, tests, coverage, security, review, and required workflow evidence. Do not close the valid delta, revert fast-mlsirm to conditional/mutable source authority, copy #1053 timeout logic, or use a no-op wake/force rebase as a substitute for the restack. Prior receipts are ancestry evidence only after this protected-main movement. |
Root cause
contextual-orchestratordeclared Python>=3.10, while its requiredfast-mlsirmdependency was guarded bypython_full_version >= '3.12'. Upstreamfast-mlsirmitself requires Python>=3.12. As a result, supported Python 3.10/3.11 installs could execute without the mandated psychometric response-quality/routing runtime, and the repository's full test suite exposed this asModuleNotFoundError: No module named 'fast_mlsirm'intests/test_psychometric_routing.py.Repair
>=3.12, matching the upstream statistical runtime;fast-mlsirmis installed for every supported contextual-orchestrator interpreter;TDD evidence
d2094b53694775f187b8860b9ed17c75513da83f3718b7b21b2c38fe99225a517d5952a17fb376f9This fixes the causal packaging boundary rather than suppressing the psychometric test or treating the missing dependency as optional. Hosted exact-head checks remain authoritative.
Summary by CodeRabbit
변경 사항
fast-mlsirm의존성이 지원되는 모든 Python 환경에 일관되게 설치되도록 조정되었습니다.테스트
fast-mlsirm의존성 설정을 검증하는 테스트를 추가했습니다.문서