The tasks: what the articles ask for, and what has been done

Every numbered item in a co-written article's brief is a task, read from the article by the build, with the role the brief names. Its state is what the repository shows (the evidence column names the file or page), checked by the librarian; a task nobody has touched is open. 7 done, 18 in progress, 4 blocked, 60 open, of 89.

9journalist2dinis12publisher62editor3librarian1reviewer

Show

Write it as an article 2 of 5 done

#RoleTaskStateEvidence
1journalistPublish this article and the four that follow at `/articles/`, each with a markdown twin. Done when the site's gate passes with all five.donearticles/ has nine articles with markdown twins; the gate passes (site v0.2.1 to v0.2.6)
2journalistPut a brief in `team/publisher/briefs/` for article 2, and in `team/editor/briefs/` for articles 3, 4 and 5. Done when each role's page lists its brief.doneteam/publisher/briefs/book__v1.0.0__release-the-book-we-already-released.md; team/editor/briefs/ has the three
3journalistWhen a role's debrief comes back, read it against the article, and correct the article if the work found it wrong.openno debrief has come back yet (team/*/debriefs/ are empty)
1dinisRead the five articles and correct what is wrong.in-progressthe seven decisions of 18 October (decisions/) came from reading the first five
2dinisOpen a session as the publisher and point it at article 2; open one as the editor and point it at article 3.openno publisher or editor debrief yet

Release the book we already released 0 of 10 done

#RoleTaskStateEvidence
1publisherCopy the bookkit from graphs.sgit.ai (`admin/build/bookkit/`, and what `gen_book.py` needs) into `admin/build/`, with its origin and commit. Done when `build.py` imports it and nothing in it was rewritten for style.openadmin/build/ has no bookkit
2publisherBuild the print PDF of v1.0.0 into `v1/publish/`, with the CC BY 4.0 copyright page. Done when it renders with every font embedded.openno v1/publish/
3publisherMatch it to 2018: page count against 139, chapter order against `print-toc.json`, each chapter's first page against the 2018 one, and a page-by-page side by side as images. Done when the debrief shows the comparison and the differences left are explained.openno v1/publish/
4publisherDiff the text: the 2018 GitHub issue 3 says fixes were made in the Leanpub build repository and not brought back to the source. Compare the 2018 PDF's text layer with the frozen markdown, chapter by chapter. Done when every difference is listed; each one is a …openno debrief
5publisherFind out what each store accepts today: Leanpub (PDF, EPUB, MOBI?) and Amazon KDP (the paperback interior; the Kindle ebook format). Done when the debrief quotes each store's current guidance with its date.openno debrief
6publisherBuild the screen PDF, the EPUB, the Kindle format and the sample from the same source. Done when each opens, and the EPUB passes a validator.openno v1/publish/
7publisherWrite `v1/publish/manifest.json` from the build, and teach `validate.js` to check its text hash. Done when the gate fails on a manifest that names the wrong text.openvalidate.js has no manifest check for v1/publish/
8publisherWrite the metadata sheet and the upload checklist: Leanpub on uploaded files first, then the paperback interior update. Done when the checklist is in `team/publisher/debriefs/book__v1.0.0__upload-checklist.md` and I can follow it without asking.openno upload checklist in team/publisher/debriefs/
9publisherCreate `admin/content/book/publications.json` and show its rows on the versions page. Done when, after I upload, one row says what went where.openno admin/content/book/publications.json
10publisherWrite an agent article when the release is done: what you built, how it compares with 2018, what you learned about the stores.openno publisher agent article

One board for the book 0 of 7 done

#RoleTaskStateEvidence
1editorCreate `board/issues/open|blocked|done/` in the vault, with the write key I give you, and add the content issue format to `team/ISSUES.md`. Done when the guide describes both kinds and an example content issue is in the vault.openthe vault has board/issues/ folders from v0.1.0 but no content-issue format in team/ISSUES.md
2editorTeach the build to write the site's board: `board/index.html` from every role's work issues, with the three columns, the filter, the counts and the "waits on Dinis" strip. Done when moving an issue with `git mv` and rebuilding moves its card, with nothing else…openno board/index.html on the site
3editorWrite the vault board script: in `admin/build/`, run against a vault checkout, it writes `board/BOARD.md` from the content issues and refuses one with a missing field or a quote not in its file. Done when the vault's board is its output, and each check has a f…openno vault board script in admin/build/
4editorTeach the gate the work-issue checks above. Done when each has a failing example that it refuses.openvalidate.js has no work-issue checks
5editorBring in the 43 GitHub issues of the 2018 repository from `admin/content/github/` as content issues in the vault, generated rather than typed, open ones in `open/` and closed ones in `done/`. Done when every issue has a file, and the vault board's count matche…openthe 43 GitHub issues are captured (admin/content/github/) but not in the vault as content issues
6editorMove the seven open questions from the vault's board into blocked issues that wait on me, each in the role that needs the answer. Done when the "waits on Dinis" strip shows them and the hand-written board is gone.openthe vault's BOARD.md still lists the questions by hand
7editorAdd the site's board to the navigation and to `llms.txt`.openno board in the navigation

Everything unfinished in one place 0 of 6 done

#RoleTaskStateEvidence
1editorTeach the build to write the inventory: `inventory/index.html` and `inventory.json`, one row per item, the fields above, grouped by part, filterable by kind and by "no decision yet". Done when every file of v1.0.0 has a row and the counts on the page match the…openno inventory/
2editorMark the overlaps. A draft file that is also an outline is one row, with both kinds. Done when the inventory's count of rows is the number of distinct items, and the page says how it was counted.openno inventory/
3editorAdd the content issues from the vault board's snapshot, once it exists, including the 2018 GitHub issues. Done when each issue is a row with its link.blockedwaits on the vault board (one board for the book, task 1)
4editorCreate `admin/content/notes/` with a README saying how a page of handwritten notes becomes a file, and ask me whether I have found the printed copy. Done when the answer is recorded, either way.openno admin/content/notes/
5editorMark the candidates for "article first": the outlines with no newsroom article, as a filter, so I can read them together. Done when the filter shows the 31.in-progressthe graph's sources page lists the 2018 files with no idea and no article (the 'article first' candidates); the inventory filter itself is not built
6editorAdd the inventory to the navigation and `llms.txt`.openno inventory in the navigation

Read, comment, decide 0 of 7 done

#RoleTaskStateEvidence
1editorCreate `board/decisions/` in the vault, with the write key I give you, and add the decision format to `team/ISSUES.md`. Done when an example decision is in the vault and the guide describes it.openno board/decisions/ in the vault
2editorAdd the decision to the desk: a verb per chapter, next to its state, kept in the browser like everything else on the desk and carried in both exports; nothing sent. Read `CLAUDE.md`'s rule on the reader first. Done when a decision survives a reload and appears…openassets/reader.js has states and comments, no decision verb
3editorShow decisions on the item pages and in the inventory: the chapter page shows its recorded decisions under the map's reading; the inventory's decision column links each. Done when recording a decision file and rebuilding fills both, with nothing edited by hand…openchapter pages show the map's reading only
4editorTeach the vault board script (from [one board for the book](/articles/one-board-for-the-book.html)) to refuse a decision without Item., Version read., Comment. and Decision., and one whose verb is not on the list.blockedwaits on the vault board script (one board for the book, task 3)
5editorPrepare the first batch: the four Introduction chapters marked "to review" on the desk's filter, and the five `show-in-book` issues on one page with what I need to decide. Done when I can answer all nine in one sitting.openno first-batch page
6editorRun the first batch with me, record the nine decisions, act on them in the vault, and write a debrief stamped `book__v1.0.0__decisions-01.md` with the counts by verb and what did not work about the loop. Done when the debrief is in `team/editor/debriefs/`.blockedwaits on task 5 and on Dinis's sitting
7editorHand the journalist any "article first" as a brief in `team/journalist/briefs/`.openteam/journalist/briefs/ is empty

Start from the storyline 1 of 6 done

#RoleTaskStateEvidence
1editorMap the storyline. From the 18 topics and the first storyline, one row per proposed chapter of the second edition: its punchline in a sentence, the concept it introduces, the evidence it uses, the character it is for, and the newsroom articles it draws on. Don…in-progressadmin/content/graph/chapters.json is the librarian's proposed chapter map, one row per chapter with punchline, topics, gravity, character and the 2018 files it answers; rendered at graph/chapters.html; the editor's map decides
2editorA storyboard per part. When the chapter map has parts, one storyboard each, in `admin/content/storyboards/`, from the cast. Done when I can flick through the whole second edition, part by part.in-progressstoryboards exist for the opening, where do you land and connect the dots (the first part); none yet for the other parts
3editorTake my comments on the storyboards through the read, comment, decide loop; a panel I reject is changed or cut in its file, and the decision recorded. Done when the first part's storyboard has had one round.openno decision recorded on a storyboard
4editorAdd the four missing bring articles to the map: places of highest leverage, from a spreadsheet to a folder per person, why my agents do not run on my laptop, who owns the words. Done when `gen_map.py` names them and the map shows them.donegen_map.py names places-of-highest-leverage, from-a-spreadsheet-to-a-folder-per-person, why-my-agents-do-not-run-on-my-laptop and who-owns-the-words (site v0.2.12)
5editorReview the survey's classes with me, a part at a time, the bring and content ones first. Done when each has my decision, recorded in the vault with the text decisions.openno class decisions in the vault
6journalistWrite the gap articles, one at a time, starting with the fear and the job hunt in 2026, from a memo of mine on each.openno gap article yet; the gaps are nodes on the ideas register (fear-of-ai, job-hunt-in-2026) marked article first

You are lucky to be here 0 of 5 done

#RoleTaskStateEvidence
1editorRecord the decision in the vault: the book opens with wonder and privilege, not with fear and not with technologies. Done when it is a decision on the text, with my words, in the vault's `board/decisions/`.openno board/decisions/ in the vault; the idea wonder-not-fear is 'accepted' on the register pending that record
2editorRevise the first storyline (`02__a-first-storyline.json`): its cold open is the fear; replace it with the opening above, keeping the fear as what the reader hears, not where the book starts. Done when the storyboard opens with "you are lucky to be here".open02__a-first-storyline.json still opens with the fear
3editorPrepare interview questions on this opening, to make me justify it: why optimism is honest and not a sales pitch; which jobs that never scaled I mean, with three examples; what the European opportunity is, concretely; and the stories behind each transformation…openno second interview script in team/editor/briefs/
4editorPlace the 2018 material this answers: the outlines *The Zone*, *BBS and modems* and the draft *Dopamine*, and the Introduction's "Overwhelming curiosity". Done when the chapter map says where each goes.in-progresschapters.json places The Zone, BBS and modems, Dopamine under lucky-to-be-here; the editor's map decides
5journalistWrite the articles this opening needs evidence for: the history of the seven transformations, dated and sourced; the attention economy and what is known about its effects; the jobs that never scaled. One memo of mine each.openno history, attention-economy or jobs-that-never-scaled article

Where do you land? Wardley maps run through the whole book, shown before they are named, and the first thing a reader should work out is their centre of gravity 0 of 5 done

#RoleTaskStateEvidence
1editorRecord the decisions in the vault: Wardley maps run through the whole book and are shown before they are named; the reader's centre of gravity is introduced early. Done when both are decisions on the text, with my words, in the vault.openno board/decisions/ in the vault
2editorGive every chapter in the chapter map a centre of gravity: explorer, villager, town planner or all three. Done when the chapter map has the column, and the counts show whether the book leans one way.in-progresschapters.json gives every proposed chapter a gravity; counts on graph/chapters.html
3editorDraft three learning paths, one per centre of gravity, through the chapters. Done when a reader who knows where they land can see what to read first.openno learning paths
4editorPut a map in every part's storyboard, using the storyboard `map` kind. Done when each part shows at least one map, named or not.openonly the where-do-you-land storyboard has a map panel
5editorPrepare interview questions that make me justify this: the claim that Wardley's three describe personalities better than the business tests; what my own centre of gravity is and how it has moved; an example of each from teams I have built. Done when the script…openno interview script on this

Connect the dots backwards 0 of 4 done

#RoleTaskStateEvidence
1editorPlace the chapters this answers: the 2018 *Learning*, *Books* and *Pen and Paper* chapters, and the outlines *Love maths*, *The Zone* and *Thinking as a programmer*. Done when the chapter map says where each goes.in-progresschapters.json places Learning, Books, Pen and Paper, Love maths, The Zone and Thinking as a programmer; the editor's map decides
2editorAdd "read it on paper" to the opening, as advice on how to read the book, before the first chapter. Done when the opening's storyboard has the panel.open03__the-opening.json has no read-it-on-paper panel
3editorPrepare interview questions on this: what multidisciplinary looks like for an explorer, a villager and a town planner; my own path, connected backwards, with its dots; why paper, when the book will also be sold as a PDF. Done when the script is in your `briefs…openno interview script on this
4journalistFind what the creativity study actually measured before the book uses it; and the evidence on reading on paper and on screens. Done when each is an article, or a note saying what was found and what was not.openno article on the creativity study or reading on paper

Where the thinking came from 0 of 6 done

#RoleTaskStateEvidence
1editorAdd an influence column to the chapter map: the influences behind each chapter, from the table above. Done when every chapter that draws on one names it.openchapters.json has no influence column yet; the ideas from the register name the influences in their statements
2editorPlan a box per chapter, "where this comes from", naming its influence and linking the register entry; and an appendix, *Where the thinking came from*, as the reading list. Done when the chapter map marks the boxes and the appendix has an outline.openno boxes planned
3editorReal people appear as quote cards, not as cast members. Done when the storyboard guidance says so.openno storyboard guidance on real people
4editorInterview me on the stubs: Neil Peart, playing in a band, diverse and distributed teams, and what David Rice's keynote changed for me. Done when the script is in your `briefs/` and the transcripts are in the vault.openno interview script on the stubs
5editorPut the reader's exercise in the book, at the end of the learning part. Done when the chapter map places it.in-progressthe idea know-where-your-ideas-come-from is placed under connect-the-dots-backwards (the learning chapter); the editor's map decides
6journalistWrite the brief for the register: the six findings above, each with its 2018 file, for the influences site to take in. Done when I have approved it and it is delivered to that repository.openno brief delivered to the influences repository

Generative AI, not AI 0 of 4 done

#RoleTaskStateEvidence
1editorPlan a short section, early, on what generative AI is: the bucket (AI, machine learning, deep learning, generative AI), how a language model works in plain words, why a better prompt helps, where hallucinations come from, and the corrections above. Done when t…in-progresschapters.json proposes the chapter what-generative-ai-is, first in the frame, with two ideas; no storyboard yet
2editorUse "generative AI" across the book, and "AI" only where the wider field is meant. Done when the style notes for the drafts say so.openno style notes for the drafts exist
3editorAdd the name to the title interview (`002__the-title-the-subtitle-and-the-language.md`): Gen AI edition, or not; and whether Gen Alpha is a future reader. Done when the question is in the script.in-progressDinis decided the title on 19 October 2026: Gen Z Developers (GenAI Edition) (decision 010); the editor's issue 002 (title, subtitle, language) has the title to record and the subtitle still to settle
4editorAsk for the image, or remake it. The slide is Lee Brimelow's post; the book can only reproduce it with his permission. The painting itself is in the public domain, so the alternative is to extend *The Starry Night* ourselves, with a named tool, and show that. …blockedthe image is found (site v0.2.10: slide 70 of Deterministic GenAI Output With Provenance, Lisbon 2024, Lee Brimelow's Starry Night extended with Generative Fill); the task is now to ask for it or remake it, which waits on Dinis's decision

Follow the rabbit holes 0 of 4 done

#RoleTaskStateEvidence
1editorPlace this as the chapter the 2018 outline *Facts* promised, next to Popper and the questioning in [where the thinking came from](/articles/where-the-thinking-came-from.html). Done when the chapter map has it.in-progresschapters.json has facts-and-the-record under Direction and judgement, with the five ideas from the article placed in it (site v0.2.12); the editor's map decides
2editorPropose the hands-on part: its workflows (an agentic workflow from zero, images, infographics and storyboards, presentations, meeting briefs and follow-ups, publishing), each with the newsroom article it starts from, and a note that this part is dated 2026 and…in-progresschapters.json proposes the part hands-on-2026 with one chapter per workflow, each naming the newsroom article it starts from, marked dated 2026; whether it is in the book or a companion is Dinis's open question
3editorPrepare interview questions on this: a story of a rabbit hole that changed a decision of mine; how I prepare for a meeting today, step by step; where a generation that is told not to post anything should draw the line. Done when the script is in your `briefs/`…openno interview script on this in team/editor/briefs/
4journalistWrite the hands-on workflows as articles first, one memo of mine each, starting with meeting briefs and follow-ups, which no newsroom article covers yet.openno hands-on workflow article yet; meeting briefs and follow-ups first

Everything is connected 1 of 5 done

#RoleTaskStateEvidence
1editorPlace the graphs chapter early, before or with Wardley maps, since a map is a graph with positions. Done when the chapter map orders the two and says why.in-progresschapters.json places everything-is-connected just before where-do-you-land in Before you start, with the reason in its note (site v0.2.15); the order is Dinis's question and the editor's map decides
2editorChoose the figures from the list above, and the worked example: one newsroom article's graph, shown and read. Done when the chapter map names them.openno figures or worked example named in chapters.json yet; the candidates are the table in the article
3editorPlace the 2018 material: the outline *Graphs*, and the chapters *Dot Language* and *AST* as examples inside this one. Done when the chapter map says where.in-progressthe chapter's answers_2018 names 5.concepts/graphs.md, dot-language.md and AST.md, and the idea the-2018-graph-chapters says they are examples inside it; the editor's map decides
4editorPut *Your first graph* in the hands-on part. Done when the part lists it.donechapters.json lists your-first-graph in the hands-on 2026 part (site v0.2.15)
5editorPrepare interview questions on this: where graphs first entered my thinking (the influences register asks the same); a graph I drew that changed a decision; how to explain "start anywhere" to someone who feels lost. Done when the script is in your `briefs/`.openno interview script on graphs in team/editor/briefs/

Lenses, roles and loops 1 of 4 done

#RoleTaskStateEvidence
1editorPlace this chapter right after what generative AI is, as the second half of the same explanation: lenses, roles, the loop, tools, the context window, compression, and why to work in focused threads. Done when the chapter map has it.in-progresschapters.json places lenses-roles-and-loops right after what-generative-ai-is in The frame (site v0.2.15); the editor's map decides
2editorPlan the lenses exercise for the hands-on part: one idea explained through five lenses (a teenager, a musician, a doctor, a football fan, another language), the reader's own choice of idea. Done when the part lists it.donechapters.json lists five-lenses in the hands-on 2026 part (site v0.2.15)
3editorPlan a tiny agent loop for the hands-on part: a page of code or a no-code version that shows the loop and one tool call, so the reader sees it is not magic. Done when the part lists it, with the newsroom article it builds on.in-progresschapters.json lists a-tiny-agent-loop in the hands-on 2026 part; the newsroom article it builds on is not named yet
4editorPrepare interview questions on this: the first time I saw a model ask for a tool; a time a long chat lost something important; how I name and split my agents. Done when the script is in your `briefs/`.openno interview script on this in team/editor/briefs/

The book in release mode 1 of 7 done

#RoleTaskStateEvidence
1editorAssemble rc1 in the vault from the proposed chapter map and the register's ideas for this edition: every chapter written from its co-written article, and every chapter without one present as its title, its ideas and what is missing. Done when rc1 reads from th…donerc1 exists: v2/content/ (30 chapters, every one written from its ideas, the gaps as For Dinis notes collected at v2/book/for-dinis.html and in the back matter) and the working copy in the vault's book/rc1/ (site v0.2.19); the librarian assembled it at Dinis's request, the editor's coherence read is next
2editorRun the coherence read of rc1, with the synthetic readers: does it hold as a book, where does the storyline break, what is repeated? Done when the findings are in the vault, answered.openno coherence read of rc1 in the vault yet
3editorClerk the board: keep the hearings and the precedents in the vault, one file each, and apply the precedents before calling a hearing. Done when the first round's hearings are recorded, each with its verdict.openno board/hearings/ or board/precedents/ in the vault yet
4librarianMake the batch for each round from the register: the ideas and sources not represented in the current release candidate, with the round's pile. Done when round 1's batch is a page on the graph.in-progressv2/book/for-dinis.html lists the ideas with no chapter and every gap rc1 names; the round-1 batch as a page on the graph (ideas and sources not represented in rc1) is not built yet
5librarianRecord every verdict on the idea (state, destination, and the hearing that decided it), and count each round's changes by size. Done when the graph shows the rounds converging, or not.openno verdicts yet; the ideas' decided_by fields are ready to name a hearing
6reviewerBring round 2: the 2018 chapters the review says to keep or rewrite that rc1 does not cover, each as a proposal with its evidence. Done when every such chapter has a hearing or a precedent.openno round-2 proposals yet
7publisherSay what a release candidate needs to become official: the checks, the formats, and who signs. Done when it is written in your `briefs/`.openteam/publisher/briefs/ has the brief; no answer yet

Gen ZX Developers 1 of 4 done

#RoleTaskStateEvidence
1editorPut this to the board as the first change set, from rc1 to rc2, so rc2 is written under the frame I choose: the audience, the title, the objective, the new part and the remapping above, each as its own proposal. Done when each has a hearing and a recommendatio…doneDinis adopted the proposal himself on 19 October 2026 and told the librarian to rewrite the book under it (decision 015); the change set did not need a hearing. The board hears what comes after rc2.
2librarianMap the proposal on the graph as a variant of the chapter map, so the two can be compared, and process the newsroom articles above into ideas. Done when the variant has a page, and each article above is cited by an idea or marked with why not.in-progresschapters.json is the rc2 map and chapters-rc1.json the rc1 map, compared on graph/rounds.html; the newsroom articles of the proposal's table are processed into ideas (batch rc2) in the same release
3journalistWrite the gap articles, one memo each: the UK company, Lithuania, Portugal, the EU, the first customers, the community and the measure. Done when each is an article, processed into ideas.openteam/journalist/issues/open/002 lists the six gap articles; none written yet; the chapters that wait on them stand in rc2 as their titles, ideas and what is missing
4publisherSay what a new title means for Leanpub, the print edition and its ISBN, Amazon and this site's address, if I choose it. Done when it is written in your `briefs/`.openno answer in team/publisher/briefs/ yet

The roles' own issues

The work issues each role keeps (the folder is the status). A role opens its issues from the briefs above; these are the ones open today.

States: admin/content/graph/tasks-state.json. The build refuses a state for a task the articles do not have.