• Lars Wirzenius
  • Daniel Silverstone


The BBQ soft-launch in Cambridge was a success. We interviewed five people who seemed like likely candidates to want to use Fable. Analysis of the interviews from Lars:

  • Doing the interviews was quite useful, if more than a little effort. Not sure if we can do them useful in the future, but perhaps something using video chats would work.
  • Pretty much everyone seems to like the Fable concept, though there are reservations about being able to use it.
  • We should improve the tutorial: more careful proof-reading, more in-depth examples, maybe include sample step implementations
  • The echo example may be too simplistic.
  • We should have at least one more in-depth example, perhaps as a separate document, for those learning about Fable on their own time.
  • We might also discuss the workflows we assume people use in more detail.
  • Regular expressions are a problem, many don't know them. We should support an easier syntax for what we think will be the most common cases, such as white-space delimited words.
  • Tracking requirements may be an interesting thing to add, later on. This gets more important the bigger projects are.
  • Integration into existing workflows and tools may be useful.
  • We should make Fable really, really easy to use and understand for all stakeholders.

We discussed the possibility of libraries, and agreed that this would be useful.

New name for project

Unfortunately we also found out that the name Fable is already in use for another testing tool, so we will rename our project.

We gathered some suggestions and discussed the new name, and tentatively landed on "Subplot". We haven't found a relevant naming conflict with that, at least not yet.

We discussed the possibility of implementing both docgen and codegen as Pandoc filters, but especially codegen would benefit from being able to pinpoint errors in the source code (filename, line number, column number). Pandoc filters can't do that. So we'll only implement docgen as a Pandoc filter.

Big iteration goals

We discussed goals for a "big iteration" until the end of the year.

Lars has the following goal: Write a docgen in Rust as a Pandoc filter, which has sufficiently feature parity with the current prototype to be able to replace it. The new docgen will need to produce typeset scenarios (including finding matching steps in the bindings), and support codeblocks with graphviz dot markup, like the prototype docgen does. Lars will also set up a new website, git repos, and CI to automatically build the website and Debian packages of the software.

Daniel's goal is to assist Lars as Lars learns Rust, and write a codegen that produces a test program in a language to be decided later, but does it by using templates instead of hardcoding test code.


  • We will do test drive development
  • We will review and merge each other's changes

Iteration plan


  1. Try to find conflicts for "subplot"
  2. Agree on a new roadmap.
  3. Discuss new, simpler syntax that can be used instead of regexps in bindings files.


  1. Set up new subdomain under, git repo, with skeleton contents.
  2. Set up a CI job to automatically update the site from git.
  3. Set new website up to use the ikiwiki Pandoc plugin and the old (prototype) Fable Pandoc filter (to be replaced later with the Subplot docgen).
  4. Prepare a propsed update for project roadmap.
  5. Propose command line interfaces for docgen, codegen.


  1. Decide on merge strategy: rebase+fast-forward, merge commit, or other.
  2. Help Lars with Rust.