I followed yesterday's plan, and everything worked perfectly. I should savor this while it lasts, since it looks like the twelfth challenge is the last one I have a past version to crib from. Quick notes on what to do next:
- I wrote an Encryptor class to handle the eleventh challenge, and it can handle the twelfth challenge with no changes.
- The only required parameter there is the key.
- The Encryptor class should be moved to an oracle module.
- I should have a module for my custom hypothesis strategies.
- I should use random with a constant seed to generate the key examples for the twelfth challenge.
- Once I solve the twelfth challenge again, I should take a break from challenges and work really hard on quality and tooling.
(Tooling and quality notes:
- I want to look into eliminating config files outside of pyproject.toml. It looks like FlakeHell will help with that.
- I should finally see about getting coverage on the modules that underly all of this.
- Document and reorganize before working on coverage, or I'll be sad.
I wish I had something more substantial to say, but it really did work right out of the box. So well, that I temporarily bumped up the verbosity and disabled output capturing to check that it was, in fact, running 432 explicit examples. It turns out that telling a computer to do a bunch of relatively simple things, even in a high-level language, is fast.
Anyway, I'm confident I'll handle the twelfth challenge easily after a night of sleep, and then things will get interesting.