detect template type from input, but respect explicit specification
Description of the change: Replaces #1814
Various type changes and refactoring necessary to make opm alpha render-template capable of detecting the template type from sniffing its schema, as well as name standardization across all template types and a new factory-based creation pattern.
This absolutely sacrifices stability of the API in favor of stability of the datatypes and callflows for future growth.
Motivation for the change: Since we created a formal schema for the basic catalog template, it made much more sense for Template to be an interface for a creation/call pattern which was increasingly entrenched in users' tooling... so it was easy to put off. But since it was also largely a "move existing stuff around" activity (read: super simple operations with complex propagation and high potential for side effects), it seemed a great opportunity to see what Claude would do with it.
Reviewer Checklist
- [ ] Implementation matches the proposed design, or proposal is updated to match implementation
- [ ] Sufficient unit test coverage
- [ ] Sufficient end-to-end test coverage
- [ ] Docs updated or added to
/docs - [ ] Commit messages sensible and descriptive
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: Once this PR has been reviewed and has the lgtm label, please assign joelanford for approval. For more information see the Code Review Process.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
Codecov Report
:x: Patch coverage is 59.39850% with 54 lines in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 57.57%. Comparing base (e7b9dee) to head (9e351fc).
:warning: Report is 11 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #1844 +/- ##
==========================================
+ Coverage 57.52% 57.57% +0.04%
==========================================
Files 136 138 +2
Lines 12934 13038 +104
==========================================
+ Hits 7440 7506 +66
- Misses 4339 4376 +37
- Partials 1155 1156 +1
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
Thanks for the really detailed review @pedjak! I've included changes which hopefully resolve your concerns and address ambiguity in the PR. Please give it another once over when you have a chance.