Skip to content

feat(v0.2.1): Admission/QoS spec finalization and API stabilization#36

Merged
m96-chan merged 2 commits intomainfrom
feature/v0.2.1-stabilization
Dec 12, 2025
Merged

feat(v0.2.1): Admission/QoS spec finalization and API stabilization#36
m96-chan merged 2 commits intomainfrom
feature/v0.2.1-stabilization

Conversation

@m96-chan
Copy link
Copy Markdown
Owner

Summary

  • Add comprehensive TDD tests for Admission Control and QoS Policy (18 tests)
  • Export missing Python bindings (PyAdmissionConfig, PyAdmissionController)
  • Add QosTaskMeta getters and AdmissionStats aliases
  • Create unified error handling module with consistent exception mapping
  • Add stress test script (tested 5+ min: 112M+ ops at 357K ops/sec)

Changes

New Files

  • rust/pygpukit-python/src/errors.rs - Unified error handling with helper functions
  • tests/test_rust_admission_qos.py - 18 TDD tests for Admission/QoS spec
  • tests/stress_test.py - Multi-threaded stress test script

Modified Files

  • rust/pygpukit-python/src/lib.rs - Export new classes
  • rust/pygpukit-python/src/scheduler.rs - Add PyAdmissionConfig, PyAdmissionController, QosTaskMeta getters
  • rust/pygpukit-python/src/memory.rs - Use unified error handling
  • rust/pygpukit-python/src/transfer.rs - Use unified error handling

Test plan

  • All 18 Admission/QoS tests pass
  • Stress test runs 5+ minutes without crashes
  • Existing tests continue to pass

🤖 Generated with Claude Code

- Add comprehensive TDD tests for Admission Control and QoS Policy (18 tests)
- Export PyAdmissionConfig and PyAdmissionController in Python bindings
- Add missing QosTaskMeta getters (memory_request, burst_ratio, bandwidth_request)
- Add used_memory/used_bandwidth aliases to AdmissionStats
- Add RejectReason enum for comparison (InsufficientMemory, InsufficientBandwidth)
- Add AdmissionDecision.Admitted() and .Queued() static constructors
- Create unified error handling module (errors.rs) with consistent exception mapping
- Add stress test script (5min test: 112M+ ops at 357K ops/sec)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Sort imports in stress_test.py
- Replace bare `except` with `except Exception`
- Remove unused variable assignments (use `_` prefix)
- Remove f-string without placeholders

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@m96-chan m96-chan merged commit 2d3cf06 into main Dec 12, 2025
13 checks passed
@m96-chan m96-chan deleted the feature/v0.2.1-stabilization branch December 26, 2025 09:39
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