Skip to content

Instantly share code, notes, and snippets.

@clusterfudge
Last active April 11, 2021 06:20
Show Gist options
  • Save clusterfudge/7b083ce819d139c05b5c52cc0d3e18ae to your computer and use it in GitHub Desktop.
Save clusterfudge/7b083ce819d139c05b5c52cc0d3e18ae to your computer and use it in GitHub Desktop.
Adapt: Road to 1.0.0

Overview

Adapt has been largely stable over the last 5 years, with the bulk of effort going into either mycroft-core, or padatious (a c++ ML-based intent parser). Given this stability, it makes sense to finally make a push for 1.0, opening the way to begin development on 2.0, without the baggage of maintaining backwards compatibility.

As part of the effort to get to 1.0, we'll have 3 major workstreams

Open PRs

There are currently 4 open PRs, languishing as far back as 2017. We should be able to complete or close these out quickly.

Open Issues

There are currently 30 open issues against Adapt. I'd like to triage these on the following dimensions

  • Needs reproduction
  • Can't reproduce, won't fix
  • Reproducible, won't fix
  • Reproducible, scheduled|in progress
  • Fixed
  • Deferred post-1.0

I'd also like to add the label of Adapt: Road to 1.0.0 to each of these issues, once they've been triaged.

Document the transition

Speficially, how/why we're transitioning to 1.0.0 to stable/supported, what the future looks like for 1.x, and decide where to branch for 2.0 development.

@clusterfudge
Copy link
Author

Have you got a preferred place for ideas to be posted if they are deemed to be for v2.0?

v2.0 is not really at a point that's open to community input just yet. My goal is to get 1.0 to a stable state, to allow for 2.0 to break those APIs cleanly. The suggestions that we've heard so far I would consider candidates for a 1.1 branch.

I don't yet have a prototype for the internals of 2.0, just a rough mental model. Until I have that prototype functional, I'm not willing to commit to any externally facing APIs.

An alternative might be to fork to a different library for v2.0, and bring it back iff they seem compatible. As I'm considering internals that are not as cleanly synchronous as adapt is today, that might make more sense. I still see the value in closing out what has been a largely stable interface for 5 years and calling it such. What are your thoughts, @krisgesling?

@clusterfudge
Copy link
Author

I'm adding a label for Deferred post 1.0 for a couple of things I've come across; MycroftAI/adapt#17 is old but fits the bill. I'm thinking the biggest chunk of work here right now is the docs revamp, and the more of them I've read the more work I realize there is to be done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment