-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added document detailing org roadmap to Core 1.0.0 #159
Conversation
@RobotSail I didn't include the UI piece in this doc since it's only for the CLI, but let me know if you wanna talk that out or have me mention something in the doc somewhere about a UI anyway, maybe under the Q&A |
@nathan-weinberg Ah gotcha, we can find a better place for it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just two small comments, I like the very general approach here.
docs/instructlab-cli-1.0.0.md
Outdated
|
||
**Q. What about the libraries? Will they 1.0.0 as well?** | ||
|
||
A. It depends - we historically have not aligned the CLI and Library releases on a particular version numbering scheme, apart from matching Y-Streams to Y-Streams (e.g., InstructLab CLI 0.20 used SDG 0.4, Training 0.5, and Eval 0.3). At this stage, this document scopes only the prereqs we want for the CLI. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the libraries will inherently need a large version bump as we standardize around a REST API
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good thought! I will let others weigh-in before changing (particular folks from the Library Maintainer teams) but I'm definitely amicable to this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We'll need to plan this but I agree, the libraries will have to catch up to the backgroundable/RESTy version of ilab.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think the CLI would be able to meet any of its backwards compatibility goals stated here unless the libraries also committed to those goals? This is perhaps a more general issue outside of the scope of just a CLI 1.0.0 as to what level of maturity and backwards compatibility of our Python APIs we want to commit to across repos in the org, as that ultimately determines what level of backwards compatibility consumers of those APIs (like CLI) can commit to.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also a good point @bbrowning - what do you think might be a reasonable expectation, both for ourselves and the community?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Barring any input, this will go in as-is on Friday - can update it in a followup
docs/instructlab-cli-1.0.0.md
Outdated
- An official v1 REST API schema | ||
- Integration of the InstructLab CLI with RAG | ||
- An upgrade path to subsequent Y-Streams and an eventual 2.0 | ||
- Backwards compatibility across the 1.y stream |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO this is a really big commitment that we don't necessarily have to make. It's common for consumers of python projects to expect minimal backward compat and to take the most recent version as that one with fewest feature errors.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would a compromise be to commit to backward compatibility across all 1.0.y versions? I.e., that API breaking changes will not happen on third digit point releases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point, the vagueness of this makes it quite the lift - maybe we can commit to backwards compatibility for N-1 Y-Streams?
E.g., 1.4
is backwards-compatible with 1.3
but not necessarily 1.2
Or do you think even that might be more than worth committing to?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
N-1-Y sounds complicated to manage to me because breaking changes need to be staged out across multiple releases.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Def good with backwards compatibility across Z-Streams only - @JamesKunstle wdyt?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Barring any input, this will go in as-is on Friday - can update it in a followup
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There seem to be a few open issues here especially around naming and backward compatibility.
Thanks for putting this together! I suggest considering architectural goals even if they are implied by things already listed, e.g. the REST API work will probably drive modularization. Do we want to stabilize our systems architecture before declaring a 1.0? What about API guarantees? State of CI? Documentation? Testing? I think it can definitely be reasonable for these things to be out of scope for this doc - but if so, I think it would be prudent to say so and at least hint at how and where those will end up being addressed. |
Of course! I definitely agree with the sentiment - I have some concrete items under the |
86624bb
to
aead764
Compare
I'm happy to help discuss architectural goals if we want to scope those into this document. I would also point out that what you've put together here is in the direction of defining a technical vision to guide us for somewhere between 6 and 12 months probably. More would need to be done to make it that, but this a first step on the way there. I think it would be appropriate to spend some time on this the next time the org gets together in a planning meeting or some such - it might deserve its own one-off meeting. Next steps - which would not be in the scope of this document - would be to work backwards from whatever goals are defined here to identify milestones etc with buy-in from the whole org. |
8d5ad47
to
468b1f4
Compare
Possible new names for "CLI" (note "CLI" will continued to be used for specific CLI discussions, just not the
Feel free to respond with a different suggestion as well! |
Signed-off-by: Nathan Weinberg <nweinber@redhat.com>
468b1f4
to
e7f3506
Compare
At this time, voting has closed with |
As previously communicated, I am going to merge this Any desired changes may be proposed as follow-ups |
Resolves #157