docs: Add comprehensive documentation for configuration system#447
Merged
hongquanli merged 4 commits intomasterfrom Jan 13, 2026
Merged
docs: Add comprehensive documentation for configuration system#447hongquanli merged 4 commits intomasterfrom
hongquanli merged 4 commits intomasterfrom
Conversation
Add documentation for the YAML-based configuration system introduced in PRs #417 and #441: - configuration-system.md: Main guide covering architecture, machine configs (illumination, confocal, camera mappings), user profiles (general.yaml, objective.yaml), merge logic, and best practices - configuration-api.md: Developer reference for ConfigRepository API, Pydantic models, utility functions, and access patterns - configuration-migration.md: Migration guide from legacy XML/JSON format including auto-migration, manual migration script usage, and troubleshooting - Update automation.md to reference new configuration docs Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix has_legacy_configs_to_migrate() signature (takes profile and base_path) - Clarify confocal_config.yaml structure matches Pydantic model - Add note about .example file format difference Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The method signature is get_channels(objective), not get_channels(). Updated the widget example to show correct usage. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Mark camera_mappings.yaml as optional (for multi-camera setups) - Mark intensity_calibrations/ as optional in directory diagram - Mark illumination_channel_config.yaml as required Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
06926d2 to
e292ee1
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive documentation for Squid's YAML-based configuration system, covering user guides, developer API reference, and migration procedures for upgrading from the legacy XML format.
Changes:
- Three new documentation files (
configuration-system.md,configuration-api.md,configuration-migration.md) providing complete coverage of the configuration architecture - Updated cross-reference in
automation.mdto point to the new configuration documentation
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
software/docs/configuration-system.md |
Main user guide covering architecture, machine configs, user profiles, merge logic, and best practices |
software/docs/configuration-api.md |
Developer reference documenting ConfigRepository API, Pydantic models, and code integration patterns |
software/docs/configuration-migration.md |
Migration guide for transitioning from legacy XML/JSON format to YAML |
software/docs/automation.md |
Updated cross-reference to point to new configuration system documentation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | `public_properties` | Properties available in `general.yaml` | | ||
| | `objective_specific_properties` | Properties only in objective-specific files | | ||
|
|
||
| > **Note**: The `confocal_config.yaml.example` file in `machine_configs/` uses a simplified format for reference. When creating your actual config, use the structure shown above which matches the Pydantic model. |
There was a problem hiding this comment.
This note refers to a confocal_config.yaml.example file but doesn't explain what the simplified format looks like or why it differs from the actual format. Consider adding a brief explanation of the differences or removing the reference if the example file uses the same format.
Suggested change
| > **Note**: The `confocal_config.yaml.example` file in `machine_configs/` uses a simplified format for reference. When creating your actual config, use the structure shown above which matches the Pydantic model. | |
| > **Note**: The `confocal_config.yaml.example` file in `machine_configs/` is a minimal example: it only includes a small subset of filter-wheel mappings and properties to keep the file easy to read. Your actual `confocal_config.yaml` must follow the full structure documented above (including `version`, `filter_wheel_mappings`, `public_properties`, and `objective_specific_properties`); you can copy the example as a starting point and then extend it to match your hardware. |
7 tasks
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
New Documentation
configuration-system.md(Main Guide)configuration-api.md(Developer Reference)configuration-migration.md(Migration Guide)tools/migrate_acquisition_configs.pyTest plan
🤖 Generated with Claude Code