What follows is the script I laid out for myself for my DH Benelux 2026 conference keynote address.
Bolded square-bracketed text indicates where I wanted to move along in my slide deck, italicized and/or bolded text indicates stage directions to me for things I really wanted to emphasize and stress (to different degrees). I write across a couple of different devices and platforms, which all leave weirdness (inconsistent quotations, etc) and sometimes, I write when I’m really tired. (Update: I noticed really weird vertical spacing in this after I posted it. I pasted from Word into this useless Gutenberg editor, and so it turned every paragraph into a new block and added spacing and I’m too tired to fight. Sorry.)
What I delivered today started with this script, but then got filtered through performance, jet lag, and caffeine. But it more or less captures what I was trying to say. And it seemed to resonate! I thank the participants for their kindness, tolerance, and attention, and I thank the organizers for inviting me. This was fun.
Slides live at https://slides.com/shawngraham/dhbenelux and you’re welcome to go have a look.

Once Upon a Time: The Behaviour Space(s) of Stories
Hello everyone. You can follow along with that URL over there – slides.com/shawngraham/dhbenelux
Act One: Story shapes are real
Act Two: …and we are in them…
Act Three: …and we can only escape through the generosity of failure
Thank you for having me; it’s an honour to be here and to share with you some things I’ve been thinking about,, which in short form look like this…. but in a more profound sense look like this:
“People think that stories are shaped by people. In fact, it’s the other way around…Stories are a parasitical life form, warping lives in the service only of the story itself.” — Terry Pratchett, Witches Abroad
This is a big hint of what’s to come. I think it only fair to warn you that when it comes to stories, I find the work of Terry Pratchet useful to think with and think through. So… Let me tell you a story.
Two People
Two stories in fact.
Once upon a time there was a man called ‘Alex’. Alex has always worked with his hands, but that’s not to say he’s uneducated or not astute. He can design things, draw them out, and make them real in the world. He’s a smart guy. He lives alone and in a lot of ways, the world is passing him by. He uses facebook to connect with people from previous eras in his life, and he picks up a lot of what’s happening in the world from that site. Nowadays, in Canada though, Facebook won’t let people post links to actual news sites, the CBC and so on, and Alex’s digital habits have migrated to Youtube. He spends a lot of time there and youtube of course has picked up on his habits for watching “news” that reflects his ‘common sense’ understandings of the world back to him. You know where this is going: that positive feedback loop keeps shifting more and more rightwards and that mild preference for ‘things that make sense’ has become a closed world where folks like him are under siege. Things are pretty dark there. Once, there was a man named Alex, and he fell into a gravity well. The attractor did the rest.
Once upon a time there was a woman named ‘Julie’. Julie’s first language isn’t English, but she’s a student at my university. She’s smart and curious about the world and wants to learn. She has a small scholarship that depends on her keeping a certain average grade, but it isn’t enough to cover the full cost of tuition, or the full cost of living. She took a part time job that eats nearly thirty hours a week but now she’s falling behind in her school work. She still has another two years to go in her degree and she’s really feeling the pressure to perform. If her grades drop, the money stops, and she’ll have to drop out and this will all have been for nothing. She wants to learn but she feels she can’t take any chances but return what the prof seems to want. She started using a GPT service to polish her writing and check her logic. She knows chapter and verse why she shouldn’t, but… other students are doing it and getting good grades, and that doesn’t seem fair… so why not her? She lets it rephrase things so that she can really express herself, she says… but she’s finding she’s using it more and more and understanding less and less and now she is using it every day just to keep up. She rationalizes this situation by suggesting the point of a degree is the credential, right? Once, there was a woman named Julie, and she fell into a gravity well, caught in a system’s attractor, where the path of least resistance led away from the things she came here for.
Alex and Julie are trapped by geometry, in a phase space rolling downhill in grooves they can’t escape on their own.
little red riding hood meets magrat
Once upon a time. C’era una volta. Il était une fois. Es war einmal.
We all know how the best fairy tales start. They transport us to a world different than our own, where we might not know the rules yet, but we learn them in the telling. We see a child skipping through the forest and we know (or think we know) what is coming their way. A tale starts with six teenagers breaking into a cabin to spend the night after partying at the lake all day, and you just know it is going to get bleak.
Fairy tales are always with us. Now they are on TikTok, on Youtube, on LinkedIn, urban legends and the neighborhood facebook group. And what Pratchett was arguing, for comedic effect, is that stories have an existence that exceeds the intentions of their tellers. Each time a story gets told, Pratchett says, it deepens the groove. Fall into that groove, and you are pretty much unable to climb out until you reach the story’s ending.
I like to think that Pratchett actually had chaos and complexity theory in mind when he came up with this, because his formulation is exactly a description of attractor dynamics in a complex system.
To see what I mean by grooves and attractors and the spaces within stories, let me walk through a small experiment. It’s a just a little toy to show that story shapes are computationally tractable, that we can see something of their geometry, and that this visibility has implications.
quick precis on how triplets become embeddings, key model approaches
Once upon a time, a little girl in a red riding hood travelled all alone through the woods to her grandma’s house to deliver a basket of goodies. Along the way she met the big bad wolf… If we could see the shape of this story, the embedded grooves in it, what would we see? One way to approach this is to create a knowledge graph of all the different actors and their relationships, and then express that graph as an embedding model of the story. This will let us see something of the push and pull of different grooves and attractors. A girl walks through the forest. The wolf eats the grandmother. The woodcutter kills the wolf. In my version of the story I end up with fourteen statements. An embedding model takes those statements and turns them into a list of numbers that express a direction in space. The latitude and longitude of Maastricht is a 2 dimensional vector. You can measure the difference, geometrically, with the 2 dimensional vector of Ottawa, and learn something new about the world and the space between, without knowing anything else about the two cities. Embedding models are a bit like that. For my embedding model, because I’m not that clever, I went with 3 dimensions. Getting from a knowledge graph to an embedding model is where the geometry comes into play.
There are a variety of mathematical techniques we could use; here, we’ll use ComplEx, DistMult, and RotatE, where relationships are represented in slightly different ways, with different consequences- basically, something like ComplEx can understand that the directionality implied in a ‘student’ -> ‘teacher’ relationship is different from that implied by a ‘teacher’ -> ‘student’, while DistMult will treat them the same (‘there’s a relationship here, don’t bother refining it’). RotatE on the other hand sees relationships as rotations around a circle, and that lets it model relationships that are symmetrical, are inverted, and composite (where if A connects to B connects to C, there is an implied linkage A to C). That’s about as complex as I’m going to get here talking about the math.
The process takes a triplet, and corrupts it by swapping out one of the entities or relationships such that the new triplet isn’t previously in the graph. That gives us a known ‘untruth’ or implausible assertion, and the process iterates so that the scores for the plausible versus the implausible are pushed as far apart as possible. In this way the embedding model picks up on different organizing principles in the data.
When you create an embedding model of a knowledge graph this way, you’re asking ‘which elements of the story matter’, and the model geometry you chose implies the why they matter. Now remember, this is just a toy, but I think it shows us something important.
diagrams, results
DistMult seems to organize the story around the contrast between places and actors. ComplEx seems to respond to the divide between ‘domestic’ and ‘wilderness’ and who has agency, while RotatE has captured the idea that the Wolf and Grandmother can be swapped, the substitution at the heart of the plot. I like this. Fourteen sentences represented via three different geometrical transformations make us see very different things. In fact, the choice of mathematical geometry shapes what the model is capable of noticing and determines what becomes visible, what remains hidden, and gives us a way of spotting the attractors.
There are formal definitions of what constitutes an attractor in complex systems, but for now, we can use it as a shorthand for those places in these diagrams where actors or relationships seem to cluster. But that means that the empty spaces also matter. The empty spaces are coordinates in this model space where there are ideas or concepts that we have not yet named or identified! With Red Riding Hood, there’s a space here between ‘wolf’ and ‘grandmother’ that makes the story disturbing rather than just ‘ah that’s sad about grandma getting eaten’. We could call it ‘substitution as violation’. It exists there in the embedding space, but the original knowledge graph didn’t name it.
Neat, eh? So, because I wanted to know where my own gaps are at and where my owned unnamed concepts are hiding, I decided to experiment on myself.
I took an early, unpolished draft of this talk as it stood back in March, and I hacked it down into a series of subject – predicate – object triplets. There’s a code notebook at the end of the slidedeck by the way if you want to see what this all looks like. I used a variety of different embedding model approaches to express those statements in three dimensions. Remember that the choice of which geometrical transformation to use, which model, conditions what will become visible, and the nature of the spaces between. I chose 3 dimensions again because that’s what is easiest to hold in my head when I look at the results. This is still all a toy, remember.
map of my talk as ternary diagram
What emerged across all four models was reasonably consistent (you can click on each diagram to zoom in if you’d like) but of course it’s the differences that are interesting here. In the DistMult model for example one dimension stretches from understanding story as statistics and probability at one end to at the other understanding it as a hyperobject inside of which we live. Another dimension captures the contrast of being inside a story and following a groove, with the ability to stand outside to map, to simulate, and to propose alternatives. The third dimension, if I squint, seems to capture the idea that every telling of a story is haunted by all the runs that came before, that Pratchet-esque accumulation of prior tellings.
The idea of ‘narrativium’ or Pratchett’s label for the parasitical story and the statistics of language orbit each other across the different models, sometimes closer, sometimes further away. I think this implies an unnamed mediating concept in that draft of the talk, an idea like ‘statistical narrative force’. And that might be expanded further to think of story grooves as both mathematical and cultural at the same time.
There is a lot of empty space in these diagrams. There’s something in the space between ‘generative AI’ and ‘fascist aesthetics’ in this model here at bottom right. Maybe the implied concept could be called ‘aestheticized algorithmic control’ to capture the way statistical convergence has political consequences. There’s something in the space between ‘worldbuilding’ and software ‘specification’ which that early draft was reaching for, the idea that through programming we might write this world rather than a story. I’ll come back to this, but this idea captures an intersection between the way the humanities has always made knowledge and the work of a software engineer whose approach I think builds that same idea in software. We’ll meet him in a moment.
[slide] – pathways of story quote, youngest son
The point of these two experiments is that mapping these simple embeddings show us how the shape of stories (where the different models are doing the storytelling) push and pull concepts into certain spaces or grooves. Those places or coordinates where entities all cluster together we can think of as attractors and ideas that we might want to know about or explore lurk unsaid in the empty parts of the map.
NOW. Imagine this not as a toy experiment but as a production system trained on billions of documents and billions of dimensions deployed into everything everywhere all at once. It’s embeddings that power and organize the underlying data of generative ai systems. The way those embeddings were created, the directions that push and pull ideas as we travel through them, are unknowable. Generative AI is nothing more than the parasitical stories that are writing the world. Our task is to escape the grooves, the pathways, and to find the empty spaces where we can flourish.
this slide blank but now we’re in act two
Here’s another story. Once upon a time, I was a PhD student. I hated my materials, but one day, I realized that these fragments of stamped Roman bricks that carried information about the place of manufacture, the person who did the work, the owner of the estate, the consular year were actually fossilized motes of space-time. The stamps were the traces of a variety of networks of power and materials that intersected in the physicality of brick. I never imagined I could be so excited by Roman bricks! And I started tracing out all of the networks I could find, stitching together co-occuring names and fabrics by the dates. But this caused new problems. Broadly speaking, I had about five time periods represented, five separate networks. I had no way of bridging the gap. I filled that gap by constructing plausible narratives -just-so stories- about what ‘must have happened’ to get from time 1 to time 2. That part of the thesis went over poorly.
A few years later I was able to approach the same problem through agent-based simulation. I started the simulation at the network configuration suggested by the archaeology for period one and gave the simulated heterogeneous population of agents behavioral scripts or rules each one interprets for how they would interact with each other under various conditions. Then I set them loose and watched what happened. The runs that produced network configurations closest to period two became objects of study. And when I mapped all of the possible outcomes, all the runs across all combinations of parameters, I could see something that Pratchett describes in his novels: a manifold of possibility space through which the system tended to evolve in certain ways, not because they were inevitable, but because they were stable; only certain paths would lead to period 2. In agent-based modeling, we call this ‘mapping the behaviour space of the model.’
cheeseroll
We can understand the outcomes of Generative AI systems using the same underlying logic. The embedding space of a large language model is a manifold. The reinforcement learning process reinforces certain attractor basins in that manifold corresponding to the statistical patterns most heavily represented in the training data. When you prompt such a system, you are releasing a particle into that landscape, and it rolls downhill toward the nearest attractor. [bliss attractor if time allows]
water/channel
The Reinforcement Learning from Human Feedback process that shapes these systems into chatbots can be understood as a deliberate act of attractor engineering where human raters choosing between outputs are selecting which basins get deepened. When describe a situation where there is a group of teenagers in a cabin in the woods, it does not reason from first principles. It rolls into the groove worn by every slasher film in its training data. The story completes itself.
Eryk Salvaggio has been pointing this out for years: any output from a generative AI system can be understood as an infographic of its underlying dataset. You can verify this empirically. Generate a thousand images with the same prompt and cluster them by visual similarity. You will see the centres of gravity immediately, the canonical representations, the defaults, the attractors. Generate a thousand text responses and run topic modelling over them and you’ll see the same thing.
And this is where things get political.
[this slide left intentionally blank]
Ic ould cite here work like Lorella Viola’s, who earlier today showed us the authority of infrastructure, or point to the new Debates in DH volume on critical infrastructure studies. I could point to Safiya Umoja Noble’s work on algorithmic oppression, Ruha Benjamin’s on the new Jim Code, Johanna Drucker, the work of Catherine D’Ignazio and Lauren Klein, Sarah Lang… there’s a large body of work showing that computational systems do not represent the world neutrally, that there’s no such thing as a neutral tool, that datasets are political. The difference though is one of scale and deployment and autonomy. These generative AI systems are writing a world into existence.
[sycophancy makes people assholes slide]
It’s changing how people write; the sycophancy of the machine makes you more machine-like, more like the average, more like the attractors. You can call that cognitive surrender. Some have called these models ‘bullshit machines’, but then again, David Graeber pointed out how so much of the work we do is because we have ‘bullshit jobs’. Some state actors apparently use bot farms to create texts that AI scrapers might ingest, in an effort to try to shift the attractors in the models towards their own goals; Elon Musk has a documented history of tipping things his way too. The perspectives most heavily represented in the training data and therefore the perspectives that define the dominant attractors in the embedding landscapes are those of whoever produces the most. And then you have to also factor in whatever drives the feedback used in reinforcement learning. Not to mention all of the other structures built on top for ‘guidance’, ‘harnesses’, or ‘guardrails’, or ‘constitutions’. It’s all a bit of a mess.
My entire formal academic career has paralleled the emergence of generative AI on the scene, from the sudden rapid improvements in image classification, and then machine translation, recurrent neural networks, long-short-term memory networks, convolutional neural networks, ‘attention’ and transformers… that decade from about 2012 to 2023 has been a wild ride and we haven’t caught our breath yet. Pareidolia (seeing familiar human characteristics in everyday objects) and the Eliza effect (the tendency to read human intention behind the wall of text in a textual interface) fired up the venture capitalist imagination because it promises them profits without workers, writing without writers (as Aimee Morrison put it), and the need to recoup those investments therefore has plumbed these systems into everything. And they have become a hyperobject: [slide hyperobject] not just language models, but entire systems that we are now enmeshed in, massively distributed and interconnected, that no one person can fully perceive in their totality.
But when we attend to the small things we can perceive in these systems, we notice the sameness of so much of it, we notice the way it spills over wastefully to make a mess: we notice the slop. Slop isn’t just an accident, or the word we give to the accumulation of AI outputs that nobody wants or likes. It is an aesthetic. It is a deliberate choice towards a particular set of attractors.
Gareth Watkins, writing in the New Socialist in 2025, explicitly ties slop to the aesthetics of fascism, an aesthetic that celebrates a deliberate narrowing of imaginative possibility. Fascism as a political form is, among other things, a project of collapsing the phase space of political imagination making it increasingly difficult to conceive of alternatives to the present arrangement, enforcing a single narrative of what the world is and must be. The mechanism Pratchett describes for comedic effect as narrativium (the way stories, once grooved deeply enough, make alternative paths unavailable) seems to me structurally the same mechanism. What Watkins is pointing toward is something Benjamin and Noble and others document in more granular detail, that the defaults of these systems, the attractors they roll toward when unchallenged, encode and reproduce particular distributions of power and visibility. What connects this to fascism is the sheer volume and ease with which AI slop can be created. Imagining alternatives is beaten out of you through sheer repetition. Reinforce the story enough and the system simply cannot produce anything else and we are all doomed to play that story out. Narrativium again
Watkins suggests that one way out of this through ridicule. He suggests that the story that any particular instance of slop promotes can be neutered through laughter. I see what he’s saying, but I don’t think ridicule will help Alex trapped at the bottom of the Youtube well nor Julie in the grade trap. An information-literacy module in the university learning management system isn’t going to cut it. The problem isn’t ignorance. The problem is geometry.
this slide left intentionally blank
So here is what I think is true:
We’re now living within the hyperobject of generative AI systems; this hyperobject is built from stories; programmers trying to deal with what generative AI does to their work have rediscovered hermeneutics; and so if we change the story, we can change the world.
That’s the ‘too long; didn’t read’ for today. I didn’t start with that because I think I needed to think through with you my process first. Otherwise the narrativium that captures academic key-notes would’ve taken over. I think.
Notice that I’m not claiming that software engineers have secretly been doing humanities all along! I am making an observation based on my training as an archaeologist who became a digital archaeologist through chance and circumstance. These things are still human artefacts; of course I as an archaeologist would be interested to try to understand what they do to us, and what we do through them. So I read a lot of what you might call ‘field reports’ from inside the hyperobject. It seems to me that the most sophisticated of these are from practitioners (not necessarily scholars) who have independently come up with something that look to me a lot like hermeneutics.
By accident, through accumulated encounters with the edges of the grooves, attractors, and blank spots on the map, and through accumulated failures, they have come around to the idea that:
1. No specification can fully anticipate its implementation.
2. The act of building always feeds back to transform what was being specified.
And 3. This feedback is not a problem to be eliminated.
Sounds like hermeneutics to me. Feedback and change is the fundamental condition through which we come to understand something.
This all means that I’m trying to hold two big ideas together here. The first is mostly ontological. I’m saying that story shapes are computationally legible, and the geometry of that legibility shapes what can be noticed in or told by a given story, and this therefore has consequences for what gets written into the world at scale.
The second part is necessarily political. Because generative AI systems are built on these representations, are built on attractor dynamics that push toward the mean of their training data they are structurally conservative in a way that has material consequences.
Here is where the work of Drew Breunig comes in, as an example of what I’m talking about.
Drew Breunig, on his blog, says that he writes at the intersection of cultural anthropology and computer science. He wondered to himself what software engineering as a practice looks like when generative AI agents are pretty good at writing code for a given context.
As a thought experiment he proposed what he called a “no-code library”: a GitHub repository containing no code, only a specification document describing what a software library should do, a set of conformance tests defining what outputs are acceptable, and instructions for invoking a generative AI to produce the implementation.
The conceit was that if the specification is precise enough, and the tests comprehensive enough, the code should flow from them automatically. He called this Spec-Driven Development (I think he even coined the phrase), and it attracted significant attention partly because it worked, and partly because the failures were so instructive.
Breunig spec driven development
Breunig released this idea into the world and watched as people tried it out, and responded to the issues people raised and the pull requests on the repo in a subsequent public talk. What he came to understand was that the specification was never enough. No matter how much the author might try, the spec always comes up short because of the programmer’s assumptions about what matters and what can be taken for granted and left unsaid. It’s ‘always already’ a partial reading shot through with unexamined silences and assumptions.
And so the spec never survives the encounter with implementation unscathed because it’s always wrong! The act of implementation discovers what the specification did not know it was assuming. When someone tries Breunig’s ‘no-code’ library approach with an agentic language model, every gap in the specification is filled by the language model’s ‘pre-understanding’ and all of those decisions remain hidden and undocumented. Deploy the code and future individuals and groups and communities and peoples have their lives impacted by choices no one ever recorded or even recognized were choices. I mean, this is true when humans code too, but it’s worse when machines do it because of the sheer scale. Hyperobjects again.
[slide Breunig with hermeneutic circle fragment]
Breunig’s response to this challenge was to build a tool called Plumb, which intercepts git commits and extracts the decisions made since the last commit, both from the human developer and from the AI agent’s conversation traces, presenting them for review before the commit completes. Approved decisions are used to update the specification. The specification, in turn, generates new requirements, which generate new tests, which generate new code, which generates new decisions. The whole history of interaction and re-examination is written, time-stamped, and versioned.
What Breunig has come up with, without using the terminology, is a software implementation of the hermeneutic circle. You cannot understand a part of a text without understanding the whole, but you cannot understand the whole without engaging with the parts. The circle is the condition that makes understanding possible at all. And it looks to me like what Breunig is doing has its closest structural analogue in the Talmudic commentary tradition where the primary text, commentary on it, and commentary on the commentary are all preserved together and considered authoritative at different levels. You approach understanding the primary text through its history of interpretation. Plumb’s decision log, linked to requirements, linked to code, echoes this structure in version control.
But remember my toy? My graphs? Remember the empty spaces? If stories write the world, they by mistake create a world that is far bigger than what you would think from just reading the stories. Let’s talk about the empty spaces. Let’s talk about worldbuilding.
Worlds, Not Stories
I want to consider the archaeologist Colleen Morgan’s proposal that archaeology is or ought to be worldbuilding.
Archaeologists have been concerned with storytelling for a while. There’s a dominant mode of archaeological storytelling where there is a clear, linear story concerned with physical things and oriented toward a single authoritative narrative: What happened? This happened, then this, therefore that. Morgan’s critique as I understand it, says that we’re missing the whole point of archaeology. We should be worldbuilders. The worldbuilding model asks a different question: what are the conditions under which stories can be told? What are the elements that, assembled in this way, make some stories more possible than others?
To my mind then a world is an attractor landscape before any particular trajectory through it has been run. It is the phase space. The archaeologist’s job, on this account, is not to tell you what happened. The archaeologist’s job is to build a world wherein you can find the emergent story for yourself. You will encounter some grooves deeper than others, but no one groove can trap you. In such a setting, you might find yourself surprised.
The best piece of public history I have ever personally witnessed happened on a ghost tour at Fort Henry in Kingston, Ontario. (a fortress on lake Ontario, to defend us against the US, plus ca change). The guide was doing as much world building as they were doing story telling. The guide had a set route through the old fortress but part of what made navigating that route effective were the details of world building that enhanced the impact of any one particular story. Inspired by those details, a child in our group became very excited and wanted to contribute. The child’s tangent really had nothing very much to do with the guide’s explicit story at that moment, that trench the guide had worn down through hundreds of tours. But -and here’s the surprise – the guide did not redirect her. She said: yes, and! And suddenly, we were bouncing out of the rut into that larger ghost-ridden world.
Which reminds me of the work of April Beisaw who is an archaeologist who has asked why do ghost tours do so much better than public archaeology events? I listened to her talk once about her work in upstate New York. She was exploring the way that the landscape was altered by flooding valleys and villages to serve the water needs of the metropolis. When it came time to share her research with the public, she quickly discovered that the authoritative story, the one with the politicians and the legislation and the aqueduct and so on, did not resonate with the locals. But she observed a local paranormal research group active in the same area, pointing to the same remains, the same drowned landscape and she noticed how they were so much better at the public history of the drowned villages than the archaeologists. What made their approach effective seemed to be, according to Beisaw, because they left space for participants to layer their own stories, to weave them together, to fill the trench according to their own understanding of what haunting means. The ghost hunters did not tell people what the world was. They invited them into the conditions for finding out. They brought the audience “along on the process of imagining a past and trying to detect its signatures in the present”. Worldbuilding in action.
the different kinds of ‘yes, and!’
This is a different relationship to knowledge than the one generative AI is currently optimised for. The appearance of ‘yes and’ that marks the sycophancy of a generative AI system actually is very directed. It fills the space for possibility by reinforcing the story the user starts, in the direction of the dominant attractor and so the narrativium takes over.
Worldbuilding, in Morgan’s sense, is the act of building a space where different grooves are possible, where the phase space is wider, the attractor landscape more level, and the path of least resistance does not automatically lead to the canonical vision. This is what Breunig’s no-code approach using Plumb is doing, at the scale of a software library. It is encoding a particular world, a set of constraints, affordances, and relationships, within which the AI’s generative process is constrained to find something that fits; we use narrativium against itself. The world is a spiral, a world that changes with every encounter, accumulating decisions, revised by failure.
slide left blank (but: Spec-Driven Development as Humanistic Practice)
Alright, we’re just about at the pay-off.
The digital humanities is famously a big tent. Is it big enough to encompass Breunig’s hermeneutics-by-accident? I think so. If it does, I think it gives us a way where digital humanities can make a difference in the era of generative AI. It gives us a way to write the world.
The specification document is a formalization, in ordinary language, of how we do our work: what we are trying to understand, what assumptions we bring to it, what we are prepared to count as evidence. The test suite is a formalization of how we know what we know: what would have to be true for our claims to hold, what outputs are acceptable, where the specification makes predictions that can fail. The grooves in the embedding space, the attractors, that’s where the spec and tests fail or bounce us out, right? We need to document that.
Each point of failure in the circle is critical information: is the test wrong (are we measuring the right thing?); is the specification wrong (are we asking the right thing?); is the implementation wrong (are we making the right thing?). Tracking the failures is where the learning happens! We build a world, and we track the stories through it. The paradata that digital humanists have been recording as afterthought documentation, the decisions made during a project, the alternatives considered and rejected, the interpretive choices embedded in data structures becomes in this framework the primary material rather than the supplement. The paradata is where we write the world. The paradata is where we push back against the narrativium of generative AI.
Ten years ago or so Matthew Lincoln wrote a piece on ‘confabulation in dh’, about how we were all so good at story telling we could tell a plausible story for just about any result. Without writing out what we expected to find in the first place, any result could be meaningful. Now folks in DH, like the C2DH group led by Sean Takats, have done amazing things for creating reproducible workflows that document the iterative and interpretive decisions with their Kiara system, and we need more of that. But what brings me back to Breunig’s no-code-with-Plumbing approach is the way ordinary language becomes part of the worldbuilding. This kind of approach I think would take us to a point where dh thinking, dh storytelling could spill well outside our labs and workshops and specialist tools and conferences.
Now let me bring this back to Alex and Julie, whom I introduced to you back at the beginning.
For Julie, she’s already in the behaviour space of the stories, but maybe we’re framing the problem wrong. Maybe the problem isn’t that she’s using a text generator to stay afloat; clearly there are bigger structural issues that she is enmeshed in. But insofar as systemic issues can be addressed by individuals, what if the problem is that… she has no specification for what she is trying to understand, for what she is prepared to count as a good answer, for what a ‘test’ of these might look like for her own thinking? Instead of letting the ‘yes and’ of a generator fill the possibility space, what if we helped her write the specification such that we help her build a world to explore? Then when the generated text inevitably fails to meet the specification that failure becomes a signal she can act on from a position of understanding.
For Alex at the bottom of the youtube gravity well, things are more difficult. The attractor he is trapped in persists because it is etched so deeply. We have to help him out the other end of the story he is trapped in. What would it mean to worldbuild around him, to assemble the conditions under which a different story could find him? I’m not talking about telling him the right story because that would simply hit the edge of the groove banging him back in deeper. To help him bring the story he’s in to a close, we need to figure out how to leave space for him to encounter the empty coordinates and edges that might flip him out rather than bang him back in. In complex systems, small changes can lead to big effects: phase transitions.
I don’t have a specification for that. For Julie, because of the system she’s in, we as teachers can maybe reach her at the point of inquiry where there are things we can do. But for Alex, I am not suggesting Breunig’s git hooks will pull him out. He’s too far downstream of the attractor engineering, downstream of decisions made at civilizational scale by people who were not thinking about him but about juicing the bottom line.
But. What if the coders’ inadvertent hermeneutic circle became a standard way of working with all of these technologies that power everything from generative AI to recommendation systems? Google just tied generative AI into search, which makes all of this even more urgent. What if the hyperobject of AI learned to tell stories or build worlds the way we do?
There are ghosts in the data who get combined into something that has action in the world: the parasitical story of narrativium, the attractors that emerge from the embeddings. I’m willing to bet that a computationally tractable, deployable form of hermeneutic knowledge-making is something DH can do that could push those attractors somewhere more fitting for human dignitity.
Conclusion: Yes, And, and the generosity of failure
Let me end with the ghost tour.
The guide has walked this route hundreds of times. She knows every room, every artefact, every story the fort can tell. She is good at her job. And then the youngest person in the group says something orthogonal, something that comes from a completely different place, that has nothing to do with the narrative trench the guide has been reinforcing. The guide could push the youngster back in. She does not. She says: yes, and.
Let’s do that.
We are inside the hyperobject of generative AI. Its attractor dynamics are real and consequential. The groove-deepening mechanism Pratchett described in satire, that narrativium, is operating at civilizational scale. We have to study this thing. Laugh at the fascists, defuse the power of slop, by all means. But when we get down to the level of individuals and other people imbricated in the system’s consequences… I don’t think laughing at Alex at the bottom of the YouTube well or Julie in the grade trap would be helpful or kind.
There are two kinds of ‘yes ands’ that I have identified today. There is the sycophantic that retrenches and uses the dominant mean. And there is the generous ‘yes and’ of the paranormal research group, the generous ‘yes and’ of the tour guide who was kind. And that generosity opened up new possibilities that permitted us to escape the narrative rut: it made the world bigger.
Design your storytelling, your digital humanities practice, from that perspective of generosity. We could do that by writing specifications: explicit, ordinary-language accounts of what we are trying to understand and why. We can write tests: falsifiable claims about what would have to be true for our accounts to hold, what failure looks like, what the evidence can actually bear. We can track decisions: to make the interpretive history visible, versioned, and subject to public scrutiny and learning. We can leave empty spaces in the embedding landscape. We can build worlds rather than tell stories, we can assemble conditions rather than deliver conclusions. We can lay down better grooves, wider grooves, for others to follow who do not have our privilege to affect things.
Rather than allowing slop to collapse the phase space of our imagination into a fascist aesthetic of sameness, we must build worlds that leave space for empty coordinates, directions to aim for that resist the behaviour of the dominant stories. Breunig encountered the hermeneutic circle in the gap between specification and implementation. We DHers have been living in that circle for long enough to have built practices and disciplines around navigating it. The question is whether we can make those practices intelligible to the infrastructure that is doing the world-shaping in our present moment.
“There’s always a story. It’s all stories, really. The sun coming up every day is a story. Everything’s got a story in it. Change the story, change the world.” — Hat Full of Sky, Terry Pratchett
The spec is never finished. That’s just how it works. The generosity of failure is how we escape narrativium, the behaviour space of stories. Change the story, change the world.























You must be logged in to post a comment.