feat(rf-commissioning): Add RF commissioning data models and phase tracking#221
Merged
lisazacarias merged 13 commits intoslaclab:mainfrom Apr 17, 2026
Merged
Conversation
…acking - Add CommissioningPhase enum with 7-phase workflow - Add PhaseStatus enum for tracking phase state - Add phase-specific data models (PiezoPreRFCheck, ColdLandingData, etc.) - Add CommissioningRecord with phase ordering validation - Add PhaseCheckpoint for audit trail - Include comprehensive test suite (1463 lines of tests) This is the foundation for the RF commissioning workflow system. Future PRs will add database persistence, phase execution framework, and UI components.
There was a problem hiding this comment.
Pull request overview
Adds a new rf_commissioning application foundation layer with dataclass-based RF commissioning workflow models (7 phases) plus a large, dedicated unit test suite to validate phase tracking, checkpointing, and serialization.
Changes:
- Introduces RF commissioning enums and phase-specific dataclass models with
to_dict()serialization. - Adds
CommissioningRecordfor phase progression/status tracking and checkpoint history. - Adds comprehensive pytest coverage for the new models.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
src/sc_linac_physics/applications/rf_commissioning/models/data_models.py |
New core data model definitions (phases, statuses, per-phase data, checkpoints, record/phase tracking). |
src/sc_linac_physics/applications/rf_commissioning/models/__init__.py |
Exposes model symbols via package exports. |
src/sc_linac_physics/applications/rf_commissioning/__init__.py |
Introduces RF commissioning application package and re-exports core model symbols. |
tests/applications/rf_commissioning/test_data_models.py |
Adds extensive unit tests for enums, models, serialization, and phase ordering/advancement. |
tests/applications/rf_commissioning/__init__.py |
Declares RF commissioning test package. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lisazacarias
added a commit
to lisazacarias/sc_linac_physics
that referenced
this pull request
Feb 26, 2026
- Add CommissioningDatabase with SQLite backend - Implement save/load/query methods for CommissioningRecord - Add support for resume capability (get_active_records) - Include complete JSON serialization of phase data - Add database statistics and cleanup methods - Comprehensive test suite (1188 lines, 100% coverage) Builds on PR slaclab#221 (data models). Next: Hardware integration layer.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
c8e8b39 to
5d38d3b
Compare
s-aderhold
reviewed
Mar 25, 2026
…f-commissioning-data-models
… commissioning workflow - Add CommissioningPhase enum with 8-phase workflow (piezo pre-rf → complete) - Implement phase-specific data models: PiezoPreRFCheck, ColdLandingData, SSACharacterization, PiModeMeasurement, CavityCharacterization, PiezoWithRFTest, HighPowerRampData - Add CommissioningRecord for tracking multi-phase cavity commissioning state - Implement PhaseCheckpoint for audit trail of commissioning steps - Create phase registry system for automatic UI/DB schema generation - Add serialization/deserialization helpers with enum, datetime, and nested dataclass support - Implement phase_display_field decorator for UI metadata binding - Add comprehensive test coverage for models, registry, and serialization - Support phase validation, prerequisite checking, and workflow advancement
…arias/sc_linac_physics into pr1-rf-commissioning-data-models
RDPorter
approved these changes
Apr 8, 2026
…arias/sc_linac_physics into pr1-rf-commissioning-data-models
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.
Summary
Adds foundational data models for RF commissioning workflow tracking.
What's Included
PIEZO_PRE_RF→COLD_LANDING→SSA_CHAR→CAVITY_CHAR→PIEZO_WITH_RF→HIGH_POWER→COMPLETEKey Features
can_start_phase()validationadvance_to_next_phase()Testing
All 95 tests pass ✓
Dependencies
None - this is the foundation layer
Next Steps