Comment by graemefawcett
1 day ago
We do something similar with automation we're calling Looking Glass Development (there's a theme).
https://tech.lgbt/@graeme/115608630019342209
We marry the user guide or reference manual to the unit tests into a single live markdown file. Intent and verification in a single package.
The a
Apologies, errant drop of water on an already cracked screen caused an early posting.
The live markdown provides a substrate that causes the tests to run when the user guide or reference document is read. We use these reference documents in place of specs in our development, they're the same information in different form (input vs output in the whole affair when treated typically) so why not just use them that way? And marrying the unit test to them provides instant verification.
During the development process, any agent (or human) accessing the spec will also receive the current state of development free (relatively... the tests need to run) of charge.
Afterwards, the tests remain, ideally green, but as an indicator anytime anyone (agentic or human) needs a refresher on whatever that feature might have been. Tucked away down at the bottom of the page somewhere, the tests stay active so that we have an on going drift/regression detector embedded in the document that describes its function. When the entire platform is based on Turing complete markdown, it helps to keep things flowing in the right direction.
There's a larger write up (and the odd shitpost) here https://www.graemefawcett.ca/blog/little-things/ if you're interested
Sorry, I had to get my kids off to school (there's two of them) and daddy tends to need some help on the best of days, but the abstraction is already designed for a polyglot runtime and my entire current platform is based on Ruby (she's just so pretty isn't she...) so the guts were there. I had a Ruby SDK for the graph from a week or two ago laying around so I just needed to get the fence processor and context injection wired up.
This I think proves the power of what Obie is saying. We do RSpec now and it's glorious
https://tech.lgbt/@graeme/115622344011576598
That shows how we can create a single node on the graph with a pair of {{include:statements}} and a bit of ${interpolation:based-pointer.math} and poke and peek tools in an MCP proxy turns a markdown file into an Rspec test runner, just by reading the file. And that same {{include:}} lets me drop that pattern anywhere I want all over the graph, which is pretty neat.
Obie's definitely on to something with this. There's a rather lot of negative emotion surrounding the changes to our profession. There's a certain lack of joy bleeding through many of the comments. Computing doesn't have to be that way, didn't used to be anyways. If you're smart about your verification process, if you're smart about optimizing the framing of your intent, this isn't a scary world we're all crashing headlong into. Remember what they're for - they're generative not thinking - and they'll serve you well.
Or not
They can be little gooses sometimes ;)