posit-dev / posit-dev/images-shared
Absorb ImageVersionOS into ImageVersion
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2
- Forks
- 0
- Avg merge
- 4d 13h
- Merged PRs (30d)
- 22
Description
`ImageVersionOS` (`version_os.py`, 133 LOC) is a shallow wrapper: 8 fields, 4 methods, 1 validator. It handles `BuildOS` lookup and adds `primary`, `extension`, and `tagDisplayName` fields. The indirection adds a parent-pointer contract without hiding meaningful complexity.
Absorb the fields and methods directly into `ImageVersion`. `BuildOS` lookup logic stays separate. Delete `version_os.py`. Reduces the number of files needed to trace image version resolution from ~11 to ~9.
Files: `config/image/version_os.py`, `config/image/version.py`, `config/image/build_os.py`
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with config/image/version_os.py and config/image/version.py to compare the fields, methods, and validator that must move. Read config/image/build_os.py to keep BuildOS lookup separate. Done means ImageVersion owns the absorbed behavior, version_os.py is deleted, and image version resolution no longer depends on the wrapper.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 68/100