Comment by graemefawcett

Comment by graemefawcett 3 days ago

1 reply

I posted the Rspec version of this earlier this week on Obie's keynote on Ruby + TDD + AI.

I've been working on a project to turn markdown into a computational substrate, sort of Skills+. It embeds the computation in the act of reading the file so you don't have to teach anything (or anyone) how to do anything other than read the data on the page along with the instructions on what to do with it. It seemed the simplest way of interacting with a bunch of machines that really love to read and write text.

I use a combination of reference manuals and user guides to replace the specs as a description of intent for the input to the process. They need to be written and accurate anyways and if they're the input to the process, then how can they not be. After all

requirements = specs = user stories = tests = code = manuals = reference guides = runbooks

They're all different projections of the same intent and they tend to be rather difficult to keep in sync, so why not compress them?

https://tech.lgbt/@graeme/115642072183519873

This lets one artifact play all of the roles in the process, or for anything non-trivial, you can use compositional vectors like ${interpolation:for-data.values}, {{include:other:sections-as.whole-units}} or run special ```graphnode:my-funky-cold-medina:fetch fences that execute code found on other nodes and feed the output through middleware to transform and transpile it into the parent document.

Think of it like Rack for your thoughts.

I threw the AST thing on it because I'd been playing with that node and thought a symbol table would be useful for two reasons. Hard to hallucinate a symbol table that's being created deterministically and if I've got it, it saves scanning entire files when I'm just looking for a method.

New computing paradigms sometimes require new new tools.

I think you're absolutely right about the rest of it. LLM assisted development is the process of narrowing the solution space by contextual constraints and then verifying the outcome matches the intent. We need to develop tools on both ends of that spectrum in order to take full advantage of them.

Try /really/ telling one what you want next time, instead of how to do it. See if your results are any better

eisbaw 2 days ago

sounds very interesting but also hard to understand - do you have an introduction or some examples?