By Lars | January 25, 2022
I will add important missing functionality, especially compared to GnuPG. This work will be guided by feedback from actual and potential users and the wisdom of Sequoia developers.
I will also add a JSON API to allow sq to be used from scripts.
Ideally, other programs would use the Sequoia library directly,
sq from other programs should be easy and secure, and
JSON is a better format than parsing textual output or ad hoc
structured data formats
I will additionally document the acceptance criteria of
sq and how
they are verified automatically, to make sure
sq does the right
thing for its users, and to help keep
sq working far into the
I have now started the work, and am about to reach the first milestone.
The first milestone was defined as:
When this milestone has been reached: An initial list of acceptance criteria for sq have been documented based on functionality at the beginning of the project. This will include how to automatically verify that sq fulfills the criteria. The verification is done by Sequoia CI for every change.
This milestone produces a foundational building block for all other development: it sets up the way how sq functionality and acceptance criteria will be documented and verified in an automated way. This is best done early in the process so that it supports development work, rather than done at the end, when it’s more work to do.
- write acceptance criteria and verification scenarios for as much of existing sq functionality as there is time for
Time estimate: 5 days
Deliverable: blog post linking to acceptance criteria documentation
Some aspects of
sq remain unverified by the test suite. I opened
#808 to track them so they’re not forgotten.
Test coverage can be measured in various ways. I opt to measure how
many features of
sq are verified by the acceptance test suite,
rather than how much of the code is run by the test suite. I feel this
works better when testing the program as a whole.
My detailed project plan is on my personal site, but I will blog here about each milestone I reach.
The next milestone is about building a group of people who have an
interest in using
sq in any way and want to help make it good. I
will be publishing a separate blog post about this, soon, but if you’d
like to volunteer early, please email me at