How throughline was used · a worked example · 7 to 17 October 2026

A Talk on a Throughline

The technical account

Three graphs in one repository: a shape graph of 23 items saying why a talk's story needs the registers it has, a story graph of 55 items holding the argument, and a deck graph of 168 items that a product builds into slides, narration and video, composing that product's rules graph as a source. 246 live items, one ratified in the committed record and 43 more in an uncommitted working copy; the story's claims never signed; the deck's 167 proposed by decision and published anyway, because the product was changed to let a deck say it does not wait.

Two pagesThis page is for a reader who wants the machinery. The account for a general reader tells what happened, who did what and what it cost.
3graphs: shape, story and deck; the deck composes the product's rules graph
246live items, 3 of them hybrid-origin, in the person's words; 1 ratified as committed, 43 more in the working copy, 202 proposed
7registers chosen for a talk's story, and four of the default ones refused with a reason each
39of 95 commits name a slide number in their subject; 14 name an item
2decks on one graph, 19 and 36 written slides, twelve titles shared between them as twins kept in step by hand
0links from the deck graph to the story graph: the argument and the slides are not joined

The subject, and the contract

Throughline is a Git-native requirements tool: one YAML file per item, a permanent UID, typed links, composition of other graphs by reference, and a validator that fails on an orphan, a dangling link or an unaccepted item. The first example's technical page sets out the working contract. Here the subject is a talk, and the contract ran in two halves that never met: a story graph shaped and written on 7 October, whose structure the person ratified a week later in a working copy that has not been committed and whose claims he did not; and a deck graph begun on 14 October, built into a deck by the product of the sixth example, which the person chose not to ratify at all. Everything in all three graphs is of AI origin or hybrid; the person's contribution to the graphs was signatures, corrections, and the words of three claims.

proposedborn from the AI, counts for nothing
ratifieda human's name and a fingerprint of the words
stalethe words moved after the signature; re-ratify or revert

Three graphs, and what they compose

the talk's three graphs, and what they compose derives_from ×2 shape · 23 why the story is shaped so; co story · 55 intent, acts, claims, evidence deck · 168 two decks: slides, claims, sou the product's rules private · main · 91 live the talk's three graphs, and what they compose
The talk's three graphs on 17 October 2026. The shape graph composes the story graph it explains without citing it; the deck graph composes the product's rules graph as `rules` and derives two items from it. The story and the deck do not compose each other: no link joins a slide to the claim of the argument it carries.
GraphWhat it holdsLiveRatifiedComposes
content/idd/shapeSources read, the domain, five needs, eight register decisions, four registers refused230 committed, 23 in the working copystory, uncited
content/idd/storyOne intent, five acts, twenty claims, thirteen pieces of evidence, five assumptions, six constraints, five non-goals550 committed, 20 in the working copy—
deckOne series, three interests, two topics, two editions, fifteen threads, 55 slides, 50 claims, 40 sources1681the product's rules

A story graph, shaped for a talk

the story's shape graph: registers and the links between them derives_from ×1 derives_from ×7 derives_from ×5 derives_from ×5 derives_from ×4 DEC · 8 decision DOM · 1 domain NEED · 5 need NG · 4 non goal SRC · 5 source the story's shape graph: registers and the links between them
The shape graph: 23 items in six registers, all root types, proposed in the committed record and ratified in the working copy. Five sources read, among them the organisers' reminder, the assessments of the parking register, the first article on this site and his own whitepaper; one domain reading; five needs; eight decisions; four registers considered and refused.
the story graph: registers and the links between them derives_from ×1 derives_from ×5 derives_from ×20 assumes ×1 relates ×2 derives_from ×11 derives_from ×1 verifies ×13 assumes ×2 ACT · 5 act ASM · 5 assumption CLM · 20 claim CON · 6 constraint EVD · 13 evidence INT · 1 intent NG · 5 non goal the story graph: registers and the links between them
The story graph: 55 items in seven registers. Acts and claims derive from the intent; evidence verifies a claim; a claim may assume an assumption; constraints and non-goals are roots. In the working copy the intent, the five acts, the five non-goals, five of the six constraints and four of the five assumptions are ratified; in the committed record everything is proposed; every claim and every piece of evidence is proposed in both.

The shape pass read five sources, named the domain as "a talk that argues one case to leaders through one story", and wrote down what such a record needs: every claim rests on recorded evidence; the order of the story is held once; what the talk rests on is stated and can be withdrawn; what must not be said or shown is binding; left-out material is recorded as left out. Seven registers followed, each with a decision saying why, and four were refused in writing: no requirements, no non-functional rules, no tests and no risks, because a talk is verified by giving it and not by a suite.

INT · 1people leave able to get AI to do what they actually want
ACT · 5the claim, the catch, the turn, the proof, the honest part and the landing; each says what the audience should think
CLM · 20what the talk asserts; three are hybrid-origin, written from the person's own messages
EVD · 13a dated fact from a record the person holds, one or more verifying each claim
ASM · 5the slot, the medium, the audience, the recording as backup, the captures
CON · 6no resident's data; the operator unnamed; a prototype called one; numbers as evidence records them; no tool internals outside a demonstration; the agreed title and pitch
NG · 5the threat to consultancies, the comprehension gate, the four layers of effort, the twelve challenges, other tools

The structure was not signed that night. The 23 shape items and 20 story items took the person's signature on 15 October at 03:38, a week after they were written, in the working copy of the repository, where the files have sat modified and uncommitted since; the committed graphs hold no signature at all. The claims and the evidence are proposed in both; the account says why three of the claims carry his words. The non-goal refusing a comparison with other tools is ratified, and the deck now has a slide of alternatives: the story graph was not amended to match, which is one of the seams below. The sixth constraint, the agreed title and pitch, was added on 14 October when the organisers' wording arrived, after the first deck had been written to the story's own opening.

The deck graph, and the product's rules

the talk's deck graph: registers and the links between them derives_from ×3 derives_from ×2 derives_from ×70 derives_from ×48 derives_from ×2 derives_from ×2 derives_from ×58 derives_from ×55 derives_from ×15 derives_from ×15 relates ×15 AUD · 3 interest CLM · 50 claim ED · 2 edition SER · 1 series SLD · 55 slide SRC · 40 source THR · 15 thread TOP · 2 topic rules (source) 2 links in the talk's deck graph: registers and the links between them
The deck graph: eight registers, 168 live items, 301 links, two of them into the product's rules graph. Slides derive from threads, threads from an edition, claims from sources, and a slide from the claims it shows. The one ratified item is the series.

On 14 October the talk became a series for the product to build: a graph in the same repository, shaped like every series the product builds, composing the product's rules graph as a source so that the rules every deck must pass, a slide that states a number shows its claim, a claim rests on a source, the same graph gives the same deck, are written once and cited. Two of the series' items derive from those rules. The product's builder reads the graph on every push, checks each slide against the rules, renders the slides, writes the speaker notes, and hands the deck to the worker for narration, subtitles and video.

Two editions sit on the graph. The first, written from the story's own opening question, has seven threads and nineteen slides. The second, written the same afternoon to the title and pitch agreed with the organisers, has eight threads and thirty-six written slides resting on 36 claims and 37 sources, and is the deck that was built, narrated and sent. Twelve titles are shared between them as twins, a slide item in each edition, kept in step by hand when one is changed, their words differing where the two decks' framing differs; the person asked on 16 October how one slide could have two UIDs, and that is the answer. The layouts are the product's: ten rows, ten screenshots, seven cards, three takeaways, three stats, two compares and one video.

Comments become commits

git log --format=%s --reverse | sed -n 44,60p Slide 4: people seldom keep, check or sign; the work veers off course Slide 6: the questions people adopting AI should be asked, without the resident Slide 12: a signature needs signing again if the wording changes Slide 13: you decide if unsigned can ship Introduce Throughline before it is used: two new slides, and three rewordings Old slide 18: the AI can easily challenge itself; the report is generated again Old slide 19: AI or person proposes, a person signs, then it gets built Old slide 20: every decision documented, since two are not yet signed Old slide 23: an AI makes a proposal that needs signing Slide 36: standards, and more to come, ready to compose Slide 40: the sceptics' figures are about AI-assisted work, not Throughline Slide 41: when it's worth using and when it isn't, with the documents bullet

The person's way of working on the deck was to comment on it by slide number, in a session given a brief that named the graph, the worktree to use and the item types, and the AI's way was one commit per comment, naming the slide in the subject and the items in the body. Thirty-nine of the ninety-five commits name a slide number in the subject, and ten more name a slide in words; fourteen name an item in the subject, which is what the assessment script reads, so the citing ratio reads 14.7 per cent against a body that cites every time. "Old slide" in a subject marks a comment made against a numbering that two new slides had since moved; the graph's own order is by thread and position, and the numbers the person used were the deck's at the time he looked at it.

The deck rebuilt itself behind him: the product's builder watches the repository and rebuilds a deck when its graph moves, only the changed slides, and the worker re-speaks only the notes that changed. The cost of that is in the sixth example: a long narration pass read files a newer build had renumbered, and a deck refused at a newer revision dropped off the site.

The demonstration's graphs

git log --format='%h %ad %s' --date=format:%H:%M origin/demo-drift -5 12bf4e0 19:54 demo: an AI proposal awaiting signature and a signed requirement reworded dd7185d 19:54 REQ-0021 and TEST-0021 ratified by … cfe18b8 19:53 Passes an automated WCAG 2.2 accessibility audit 31efef5 19:52 REQ-0006, TEST-0006, REQ-0020 and TEST-0020 ratified by … 29f8448 19:41 Held to OWASP ASVS v5 and WCAG 2.2, and HSTS on every response

The demonstration the audience sees is a branch of the third example's graph. On 14 October the person held that graph, signed in September with no standard composed, to the security and accessibility standards from the catalogue, signed the four new items in his terminal, and then had the AI do on the branch the two things the slides show: a proposal of AI origin that crosses a ratified non-goal and waits, and a ratified requirement reworded after its signature so that the fingerprint no longer matches. The branch is thirteen minutes of commits. The browser tools show it as a proposal that cannot ship, a stale signature, and every requirement traced to its intent and out to the clause it satisfies; the slide that reports it leads with the forty decisions of September, none of them held to the accessibility standard, and the gap closed the same evening.

The first demonstration, built on the evening of 7 October, was a tax calculator in a repository of its own: eight graphs, 2,100 items, of which 511 are the tax rules, all proposed; a calculator graph of 76 items the person ratified that night; a transform tool's graph of 611 items, ratified; a challenge pass that read the rules against the legislation and found the personal-allowance rule did not give the greatest reduction; and a finding that a signature did not cover an item's links, which went to the tool as a change before anything else. It was set aside for the calculator that already existed, and its graphs stand as they were on 8 October.

Ratification, and the decision not to

tl -C deck check tl check · 1 source(s) composed: rules (…@main) […] 0 error(s), 169 warning(s) — composed graph is sound

One item is ratified in the committed record: the deck's series item, on 14 October at 19:17, which is the signature that lets the product publish a series' decks. Forty-three more, the shape's 23 and the story's 20, were signed on 15 October at 03:38 and have not been committed; a reader of the repository sees them proposed. The 169 warnings are the 167 proposed items of the deck and two unstamped citations into the rules graph. Under the strict check they are errors, and the graph does not meet the assessment's gate; the product's own check is non-strict, so a proposed item waits and does not fail the build.

The product's rule of 9 October is that a deck of a series whose decks wait for a person is listed only when every item it shows is ratified; an unsigned deck is built as a draft and watermarked. The person did not want the talk to wait, and the product gained, on 16 October, a deck-level approval setting that overrides the series': a deck that does not wait is published, marked nowhere, with no line on its cover. The talk's edition carries that setting. So the deck the audience sees is built from 167 proposed items, and the record says so plainly, which is what a deliberate decision not to sign looks like on a graph.

One signature was given by accident and withdrawn. On 14 October at 19:16 the person meant to sign the series alone and found he had signed everything; the AI reverted the rest and he signed the one item. That accident is also in the sixth example, where it is one of the reasons the list form of ratification was retired.

Seams the graphs leave open

  • The story and the deck are not joined. No slide cites the claim of the argument it carries, and no claim of the story cites the slide that makes it; the deck's claims are its own register, built for sources rather than for the argument. The story's order of five acts and the deck's order of eight threads agree by reading, not by link.
  • A ratified non-goal is contradicted by a slide. The story refuses a comparison with other requirements tools; the deck has a slide of alternatives, asked for on 17 October. The story graph was not amended, so the signed non-goal stands against a built slide.
  • The story's claims were never signed, and three of them are the person's own words. The record marks their origin as hybrid; nothing marks that he agrees with them, because he never ratified them. The signatures he did give, on the structure, are a week late and uncommitted.
  • The old slide numbers in the commit subjects are the deck's numbering at the moment of the comment, which two inserted slides moved; a reader following them needs the date.

The assessment

None of the three graphs is at the assessment's "done": the story holds 35 proposed items, the deck 167, and the working tree carries 43 uncommitted signatures. No record is filed. The figures below are the script's measures taken on 17 October 2026 at the repository's last commit that morning.

MeasureThe talkTaken from
Items, live local246: shape 23, story 55, deck 168graph
Accepted by a human1 committed; 44 (0.18) in the working copy: 23, 20, 1graph, and the working tree
OriginAI 243, hybrid 3graph
Links, local379: 22, 56, 301graph
Sources composed; citations into themthe product's rules; 2graph
Commits · span95 · 9.6 daysgit
Commits naming a slide number in the subject39git
Commits naming an item in the subject14 (14.7%)git
Lines added / removed5,461 / 412git
Items amended after ratification1, in 5 amending commitsgit
Wall clock / active, the story session22.9 h / 3.4 h2 overlapping session records, merged
Wall clock / active, the main session from the talk's start71.4 h / 26.2 h1 session record, shared with the product
Wall clock / active, the comment sessions60.4 h / 3.9 h3 session records
Human turns / AI turns448 / 7,707session records
Tool calls3,661session records
Tokens out (of which thinking)6,103,778 (2,081,240)session records
Donenostrict check, proposed items

The main session's hours are the same hours the sixth example counts from 14 October onward; the two examples share one session record and the figure is not additive across the two pages. The story session's record exists twice with the same first forty-eight messages; the two copies were merged on their entry identifiers before measuring.

What the tooling taught

A talk's registers are not software's. Acts, claims, evidence and constraints; no tests, no risks. The shape pass refused four defaults with a reason each, and the reasons are signed.
Join the argument to the slides, or do not keep both. Two graphs that do not cite each other drift: a signed non-goal now stands against a built slide and nothing reports it.
Mark the person's words as the person's. Hybrid origin on three claims is the only trace that the slide on when it is worth using is his judgement, not the AI's.
A deck-level decision not to wait belongs on the record, not in a workaround. The product gained a setting and the talk's edition carries it; the 167 proposed items are visible to anyone who looks.
A commit per comment is a trail a reader can follow, if the numbering is the graph's. "Old slide 18" needs a date; a thread and a position do not.
A signature that is not committed is not on the record. Forty-three signatures have sat in a working copy for two days; the repository says proposed, and so does this page.
A demonstration branch is thirteen minutes of commits when the graph it drifts from is already signed. The evening spent building a new one from nothing was the cost of not reusing a record.
Read the figures from the graph. The slide about the record was wrong twice from memory and right once from a dump.

The account. What happened, who did what, what it cost and what went wrong is on the account for a general reader.