From 9d4c2e6b6c2c88d6b04bfedcf334e8970acc254c Mon Sep 17 00:00:00 2001 From: Implementer Date: Mon, 12 Oct 2026 21:49:35 +0200 Subject: [PATCH] Takes design v0.151.0 This re-pin moves @robertblust/design from v0.150.0 to v0.151.0. The chat widget draws a use case's three pictures: the actor's mark, an outlined figure for someone who is not one of us, joins the marks, the pictures are captioned Use case, Scenario and Requirements, Anwendungsfall, Szenario and Anforderungen in German, and each has its reading line in both languages. This instance holds no use case, so the host refuses the shapes and the chat answers in words; the widget is ready for the day it does. The model and parser pins stay where they are. npm run design rewrote chat.js and chat.css; the pages, the cards and the sitemap followed. Verified: the lockfile resolves @robertblust/design to 65b78c6, the tag's commit; npm run design, pages, pictures, pages, og and sitemap ran; the verify list of pins.json passed locally against a server on its own port. Process: Delivery Phase: Implement Track: Code Co-Authored-By: Claude Fable 5.1 --- blog/deciding-well-solved/og.sha | 2 +- blog/og.sha | 2 +- blog/one-question-answered/og.sha | 2 +- chat.css | 5 ++++- chat.js | 12 +++++++----- ideas/og.sha | 2 +- model/og.sha | 2 +- og.sha | 2 +- package-lock.json | 6 +++--- package.json | 2 +- principles/og.sha | 2 +- privacy/og.sha | 2 +- processes/og.sha | 2 +- processes/pictures/answering.sha | 2 +- processes/pictures/deciding.sha | 2 +- processes/pictures/delivery.sha | 2 +- processes/pictures/narrating.sha | 2 +- surfaces/og.sha | 2 +- talks/deciding-well/cost/og.sha | 2 +- talks/deciding-well/og.sha | 2 +- talks/essential-complexity/og.sha | 2 +- talks/mental-model/og.sha | 2 +- talks/og.sha | 2 +- timeline/og.sha | 2 +- 24 files changed, 35 insertions(+), 30 deletions(-) diff --git a/blog/deciding-well-solved/og.sha b/blog/deciding-well-solved/og.sha index c5cbdab..15aca41 100644 --- a/blog/deciding-well-solved/og.sha +++ b/blog/deciding-well-solved/og.sha @@ -1 +1 @@ -31822d50f0f211896bf967d08e76e9ec0616d164badc62057eb12106e5be434b +6535f8b21c3602a1b317ff70b6fa4e7f43b5fd622aca9e0c0e04c78851336d80 diff --git a/blog/og.sha b/blog/og.sha index 859d6a1..72a11eb 100644 --- a/blog/og.sha +++ b/blog/og.sha @@ -1 +1 @@ -5401b30118574120ec7e075c9da15f75e70798127fa715d4be56c4dc7b6f2d16 +b276dbe150c4de571fe6437f09b4f3e32e9061e804bd02fbe81f6a27f72d8816 diff --git a/blog/one-question-answered/og.sha b/blog/one-question-answered/og.sha index 15b050f..0e9a520 100644 --- a/blog/one-question-answered/og.sha +++ b/blog/one-question-answered/og.sha @@ -1 +1 @@ -2eb8fcd132c2d3a1f4187d7a147f70dc204e623f8c3cf865bec5e369fbf57e98 +a2110254675a84d80f24d22812f89551827e0c180e3162110164be92d72137c9 diff --git a/chat.css b/chat.css index 19768ad..f78c782 100644 --- a/chat.css +++ b/chat.css @@ -213,12 +213,15 @@ html[data-chat-waiting]::after{content:"ask \00b7 " attr(data-chat-waiting);pos sized to the text; a person's mark is the firm brightness and an agent's the mid, as the Processes page draws them, and both beat the linked label's own color; a system's element mark is the firm brightness too, since a system is a thing and not an agent. An open position is a - dashed box with no fill, and the frame the agents of a group stand in is shaded. */ + dashed box with no fill, as is a scenario's extension, and the frame the agents of a group + stand in is shaded. */ .rbchat-diagram-box svg .label-icon{width:1.15em;height:1.15em;vertical-align:-.2em;margin-right:.3em} .rbchat-diagram-box svg .rbchat-mark.human{color:var(--c-firm,var(--ink))!important} .rbchat-diagram-box svg .rbchat-mark.agent{color:var(--c-mid)!important} +.rbchat-diagram-box svg .rbchat-mark.actor{color:var(--c-firm,var(--ink))!important} .rbchat-diagram-box svg .rbchat-mark.element{color:var(--c-firm,var(--ink))!important} .rbchat-diagram-box svg .node.open rect{fill:none!important} +.rbchat-diagram-box svg .node.ext rect{fill:none!important} .rbchat-diagram-box svg .cluster.agents rect{fill:var(--press)!important} .rbchat-diagram-reading{margin:.35rem .1rem 0;font-size:.8rem;line-height:1.4;color:var(--dim)} /* A page's own picture is a preview: fitted to the column, never past its own size, and diff --git a/chat.js b/chat.js index e8e2aee..23b70db 100644 --- a/chat.js +++ b/chat.js @@ -129,7 +129,7 @@ github: "{title} on GitHub", commit: "commit {sha}", modalClose: "Close \u00b7 Esc", ask: { from: "The link you opened asks:", label: "A question from the link you opened", send: "Send", edit: "Edit", discard: "Discard" }, - diagram: { concepts: "Concepts", process: "Process", neighborhood: "Connections", schema: "Meta-model", context: "Context map", aggregate: "Aggregate", flow: "Flow", lifecycle: "Lifecycle", organization: "Organization", system: "Landscape", holds: "Data held", reading: { context: "One-way arrows run from upstream to downstream; each arrow names the pattern between the two contexts.", aggregate: "The root holds what the diamonds join; the dashed arrows are the events it emits.", flow: "Solid arrows are commands sent to the aggregate, dashed arrows the events it emits; a box names the condition of each branch.", lifecycle: "Each arrow is a step from one state to the next, labeled with the command that takes it where there is one.", organization: "Solid arrows run from a lead to the leads below; a dashed line joins staff to the head they serve; a dashed box is an open position, beside a lead the search for a successor; agents stand in the shaded frame, and a dotted arrow from a person to an agent says who directs it, where an agent with no arrow is directed by everyone in the frame.", system: "Solid arrows run from the system the data comes from to the one that takes it, labeled with the interface, what is carried and how; a dotted line joins a system to what it runs on; a rounded box is a service the system provides; a cylinder is data it holds, by a heavy arrow where its copy leads, a solid one where it writes and a dotted one where it only reads.", holds: "Each cylinder is data kept of the concept named under it; a heavy arrow marks the system whose copy leads, a solid one a system that writes a copy of its own, a dotted one a system that only reads." }, expand: "Open full screen", shut: "Close full screen", zoomIn: "Zoom in", zoomOut: "Zoom out", fit: "Fit", fitTip: "Fit to the screen", failed: "The diagram could not be drawn; this is its source." }, + diagram: { concepts: "Concepts", process: "Process", neighborhood: "Connections", schema: "Meta-model", context: "Context map", aggregate: "Aggregate", flow: "Flow", lifecycle: "Lifecycle", organization: "Organization", system: "Landscape", holds: "Data held", usecase: "Use case", scenario: "Scenario", requirements: "Requirements", reading: { context: "One-way arrows run from upstream to downstream; each arrow names the pattern between the two contexts.", aggregate: "The root holds what the diamonds join; the dashed arrows are the events it emits.", flow: "Solid arrows are commands sent to the aggregate, dashed arrows the events it emits; a box names the condition of each branch.", lifecycle: "Each arrow is a step from one state to the next, labeled with the command that takes it where there is one.", organization: "Solid arrows run from a lead to the leads below; a dashed line joins staff to the head they serve; a dashed box is an open position, beside a lead the search for a successor; agents stand in the shaded frame, and a dotted arrow from a person to an agent says who directs it, where an agent with no arrow is directed by everyone in the frame.", system: "Solid arrows run from the system the data comes from to the one that takes it, labeled with the interface, what is carried and how; a dotted line joins a system to what it runs on; a rounded box is a service the system provides; a cylinder is data it holds, by a heavy arrow where its copy leads, a solid one where it writes and a dotted one where it only reads.", holds: "Each cylinder is data kept of the concept named under it; a heavy arrow marks the system whose copy leads, a solid one a system that writes a copy of its own, a dotted one a system that only reads.", usecase: "The actor stands outside the frame, which is the use case's scope; a dashed arrow runs from a use case to one its steps include, a solid one to a feature it asks something of; a hexagon is a requirement it is held to, with a heavy border where it must and a dashed one where it may.", scenario: "The rounded box is the trigger; each box is a step, in order, with who acts; a dashed box is an extension, the condition first and what happens then.", requirements: "A hexagon is a requirement, with a heavy border where it must and a dashed one where it may, in a frame for its kind; an arrow runs to what it applies to, a dotted one to a rule it follows." }, expand: "Open full screen", shut: "Close full screen", zoomIn: "Zoom in", zoomOut: "Zoom out", fit: "Fit", fitTip: "Fit to the screen", failed: "The diagram could not be drawn; this is its source." }, refusal: { too_long: "That message is over 1,000 characters.", too_much: "The conversation has grown too long to send; start a new one.", @@ -177,7 +177,7 @@ github: "{title} auf GitHub", commit: "Commit {sha}", modalClose: "Schliessen \u00b7 Esc", ask: { from: "Der Link, den Sie geöffnet haben, enthält diese Frage:", label: "Eine Frage aus dem Link, den Sie geöffnet haben", send: "Senden", edit: "Bearbeiten", discard: "Verwerfen" }, - diagram: { concepts: "Konzepte", process: "Prozess", neighborhood: "Verbindungen", schema: "Meta-Modell", context: "Context Map", aggregate: "Aggregat", flow: "Ablauf", lifecycle: "Lebenszyklus", organization: "Organisation", system: "Landschaft", holds: "Datenbestand", reading: { context: "Einfache Pfeile laufen vom Upstream- zum Downstream-Kontext; jeder Pfeil nennt das Muster zwischen den beiden Kontexten.", aggregate: "Die Wurzel des Aggregats hält, was die Rauten verbinden; die gestrichelten Pfeile sind die Ereignisse, die sie auslöst.", flow: "Durchgezogene Pfeile sind Befehle an das Aggregat, gestrichelte die Ereignisse, die es auslöst; ein Kasten nennt die Bedingung jedes Zweigs.", lifecycle: "Jeder Pfeil ist ein Schritt von einem Zustand zum nächsten, beschriftet mit dem Befehl, der ihn auslöst, wo es einen gibt.", organization: "Durchgezogene Pfeile laufen von einer Führungskraft zu den Führungskräften darunter; eine gestrichelte Linie verbindet eine Stabsstelle mit der Leitung, der sie zuarbeitet; ein gestrichelter Kasten ist eine offene Stelle, neben einer Führungskraft die Suche nach ihrer Nachfolge; Software-Agenten stehen im farbig hinterlegten Rahmen, und ein gepunkteter Pfeil von einer Person zu einem Agenten sagt, wer ihn steuert; ein Agent ohne Pfeil wird von allen im Rahmen gesteuert.", system: "Durchgezogene Pfeile laufen vom System, aus dem die Daten stammen, zum System, das sie übernimmt, beschriftet mit der Schnittstelle und mit dem, was übertragen wird und wie; eine gepunktete Linie verbindet ein System mit dem, worauf es läuft; ein abgerundeter Kasten ist ein Service, den das System bereitstellt; ein Zylinder ist ein Datenbestand, den es hält – mit einem dicken Pfeil, wo seine Kopie führend ist, einem durchgezogenen, wo es schreibt, und einem gepunkteten, wo es nur liest.", holds: "Jeder Zylinder ist ein Datenbestand zum darunter genannten Konzept; ein dicker Pfeil markiert das System, dessen Kopie führend ist, ein durchgezogener ein System, das eine eigene Kopie schreibt, ein gepunkteter ein System, das nur liest." }, expand: "Im Vollbild öffnen", shut: "Vollbild schliessen", zoomIn: "Vergrössern", zoomOut: "Verkleinern", fit: "Einpassen", fitTip: "Auf den Bildschirm einpassen", failed: "Das Diagramm konnte nicht gezeichnet werden; dies ist seine Quelle." }, + diagram: { concepts: "Konzepte", process: "Prozess", neighborhood: "Verbindungen", schema: "Meta-Modell", context: "Context Map", aggregate: "Aggregat", flow: "Ablauf", lifecycle: "Lebenszyklus", organization: "Organisation", system: "Landschaft", holds: "Datenbestand", usecase: "Anwendungsfall", scenario: "Szenario", requirements: "Anforderungen", reading: { context: "Einfache Pfeile laufen vom Upstream- zum Downstream-Kontext; jeder Pfeil nennt das Muster zwischen den beiden Kontexten.", aggregate: "Die Wurzel des Aggregats hält, was die Rauten verbinden; die gestrichelten Pfeile sind die Ereignisse, die sie auslöst.", flow: "Durchgezogene Pfeile sind Befehle an das Aggregat, gestrichelte die Ereignisse, die es auslöst; ein Kasten nennt die Bedingung jedes Zweigs.", lifecycle: "Jeder Pfeil ist ein Schritt von einem Zustand zum nächsten, beschriftet mit dem Befehl, der ihn auslöst, wo es einen gibt.", organization: "Durchgezogene Pfeile laufen von einer Führungskraft zu den Führungskräften darunter; eine gestrichelte Linie verbindet eine Stabsstelle mit der Leitung, der sie zuarbeitet; ein gestrichelter Kasten ist eine offene Stelle, neben einer Führungskraft die Suche nach ihrer Nachfolge; Software-Agenten stehen im farbig hinterlegten Rahmen, und ein gepunkteter Pfeil von einer Person zu einem Agenten sagt, wer ihn steuert; ein Agent ohne Pfeil wird von allen im Rahmen gesteuert.", system: "Durchgezogene Pfeile laufen vom System, aus dem die Daten stammen, zum System, das sie übernimmt, beschriftet mit der Schnittstelle und mit dem, was übertragen wird und wie; eine gepunktete Linie verbindet ein System mit dem, worauf es läuft; ein abgerundeter Kasten ist ein Service, den das System bereitstellt; ein Zylinder ist ein Datenbestand, den es hält – mit einem dicken Pfeil, wo seine Kopie führend ist, einem durchgezogenen, wo es schreibt, und einem gepunkteten, wo es nur liest.", holds: "Jeder Zylinder ist ein Datenbestand zum darunter genannten Konzept; ein dicker Pfeil markiert das System, dessen Kopie führend ist, ein durchgezogener ein System, das eine eigene Kopie schreibt, ein gepunkteter ein System, das nur liest.", usecase: "Der Rahmen ist der Geltungsbereich des Anwendungsfalls, und der Akteur steht ausserhalb; ein gestrichelter Pfeil läuft von einem Anwendungsfall zu einem anderen, den seine Schritte einbinden, ein durchgezogener zu einem Feature, von dem er etwas verlangt; ein Sechseck ist eine Anforderung, die für den Anwendungsfall gilt, mit dickem Rand, wo sie «muss» sagt, und gestricheltem, wo sie «darf» sagt.", scenario: "Der abgerundete Kasten ist der Auslöser; die Kästen sind die Schritte in ihrer Reihenfolge, und jeder nennt, wer handelt; ein gestrichelter Kasten ist eine Erweiterung: zuerst die Bedingung, dann, was geschieht.", requirements: "Ein Sechseck ist eine Anforderung, mit dickem Rand, wo sie «muss» sagt, und gestricheltem, wo sie «darf» sagt; der Rahmen um sie nennt ihre Art; ein Pfeil läuft zu dem, wofür sie gilt, ein gepunkteter zu einer Regel, der sie folgt." }, expand: "Im Vollbild öffnen", shut: "Vollbild schliessen", zoomIn: "Vergrössern", zoomOut: "Verkleinern", fit: "Einpassen", fitTip: "Auf den Bildschirm einpassen", failed: "Das Diagramm konnte nicht gezeichnet werden; dies ist seine Quelle." }, refusal: { too_long: "Diese Nachricht ist länger als 1’000 Zeichen.", too_much: "Das Gespräch ist zu lang geworden, um es zu senden; beginnen Sie ein neues.", @@ -787,10 +787,11 @@ }; } // Where Mermaid put a node in its SVG: a group whose id ends in the node's name and a number, - // after `classId` in a class diagram and `flowchart` in a flowchart. The one place that knows + // after `classId` in a class diagram and `flowchart` in a flowchart; a scenario's step is `s0` + // and on and is listed where its actor is a seat. The one place that knows // it, so a Mermaid release that names them otherwise is fixed here and nowhere else. function nodeElement(svg, node){ - if (!svg || !/^n\d+$/.test(String(node))) return null; + if (!svg || !/^[ns]\d+$/.test(String(node))) return null; var re = new RegExp("-(?:classId|flowchart)-" + node + "-\\d+$"), all = svg.querySelectorAll("g[id]"); for (var i = 0; i < all.length; i++) if (re.test(all[i].id)) return all[i]; return null; @@ -926,6 +927,7 @@ var MARKS = { human: '', agent: '', + actor: '', "application-component": '', node: '', "system-software": '', @@ -936,7 +938,7 @@ function withMarks(m){ if (m && typeof m.registerIconPacks === "function" && !m.rbMarks) { var icons = {}; - Object.keys(MARKS).forEach(function(k){ icons[k] = { body: '' + MARKS[k] + "" }; }); + Object.keys(MARKS).forEach(function(k){ icons[k] = { body: '' + MARKS[k] + "" }; }); m.registerIconPacks([{ name: "fak", icons: { prefix: "fak", width: 16, height: 16, icons: icons } }]); m.rbMarks = true; } diff --git a/ideas/og.sha b/ideas/og.sha index 4ad47bd..94e6bd1 100644 --- a/ideas/og.sha +++ b/ideas/og.sha @@ -1 +1 @@ -28ad7f22d50615789c19a779386ab7656f390768102d64cc649b251ebd9e8c4a +a45e7c0933de69896b1392ca5837271000140f124031dc00b8d5dd86c84ab359 diff --git a/model/og.sha b/model/og.sha index 557120b..10f583d 100644 --- a/model/og.sha +++ b/model/og.sha @@ -1 +1 @@ -8d6cb726ee056f2b1564d0f668d3f39bcf2a90bb3e6af450b2689e3818eaa27c +59f3901f8d7def8cc96f3afb7fce56362d56db4c573ce868162096842ec9aa7e diff --git a/og.sha b/og.sha index 8b1f093..22a3956 100644 --- a/og.sha +++ b/og.sha @@ -1 +1 @@ -163f10abb9c77a1f8b0560f62187fdd68fcb9f830558b6ea55e570175ac230b7 +8b1242c11c39f2af81ff4086eac33d0a7d9117234b74312b38373cccb1f5ec48 diff --git a/package-lock.json b/package-lock.json index 2aed9f2..f69c099 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "companygraph-meta-model": "github:companygraph/meta-model#v0.88.0" }, "devDependencies": { - "@robertblust/design": "github:robertblust/design#v0.150.0", + "@robertblust/design": "github:robertblust/design#v0.151.0", "companygraph-mcp-server": "github:companygraph/mcp-server#v0.62.0", "pdf-lib": "^1.17.1", "playwright": "^1.63.0" @@ -95,8 +95,8 @@ } }, "node_modules/@robertblust/design": { - "version": "0.150.0", - "resolved": "git+ssh://git@github.com/robertblust/design.git#63044b26ec57d169d7bb91a5de8fd12ee4b78881", + "version": "0.151.0", + "resolved": "git+ssh://git@github.com/robertblust/design.git#65b78c6310af99370e594d48de0f8bff6a682448", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/package.json b/package.json index a5b1a1e..e2949b2 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "pin:check": "node pin-check.mjs" }, "devDependencies": { - "@robertblust/design": "github:robertblust/design#v0.150.0", + "@robertblust/design": "github:robertblust/design#v0.151.0", "companygraph-mcp-server": "github:companygraph/mcp-server#v0.62.0", "pdf-lib": "^1.17.1", "playwright": "^1.63.0" diff --git a/principles/og.sha b/principles/og.sha index 1612ef2..0aa4af5 100644 --- a/principles/og.sha +++ b/principles/og.sha @@ -1 +1 @@ -32f96a35179035dac90e094ea9e2b7377b492424f3a1de2a8e49d3b2f732ad01 +42955012ca6c878dd69060ca9c1e68bb2468772b466f9d64c0ab37a729475b2f diff --git a/privacy/og.sha b/privacy/og.sha index 2f75533..99ca16d 100644 --- a/privacy/og.sha +++ b/privacy/og.sha @@ -1 +1 @@ -852c558b98a55cf37d350ac879e86a9b5e561a4522678dee67258a05fe5de6ba +0e13741d69c435819396ead21b1959c4287f4b10110a456fcf480a05aefe7189 diff --git a/processes/og.sha b/processes/og.sha index eda8092..29ba182 100644 --- a/processes/og.sha +++ b/processes/og.sha @@ -1 +1 @@ -3e5f135ad5bd66cc2e6b655555babd4fd8ae859279507286f047fda4f4c53298 +dedce63da4e00e008ba810ba8f9caf0eb00350ee525616dcafe1ed0d33e246fe diff --git a/processes/pictures/answering.sha b/processes/pictures/answering.sha index 48781cc..c62283d 100644 --- a/processes/pictures/answering.sha +++ b/processes/pictures/answering.sha @@ -1 +1 @@ -4decf2a5b45e907bf64043674e33cd19047a7ef89a294ce8abb2ba4e553efa00 +983410cae0321568b610f7252d21bd21e4d93de12c4d14389e5ffb89d5145dfc diff --git a/processes/pictures/deciding.sha b/processes/pictures/deciding.sha index 51b64f2..b42a0ca 100644 --- a/processes/pictures/deciding.sha +++ b/processes/pictures/deciding.sha @@ -1 +1 @@ -12ed3fe08c05bbfe7b8be83b0d34f9c75b0998542680c8e1a9d508b85b913635 +58f51103b3115901c9401849dcbf462b5d99dea686176d719d0539ccb279a6b5 diff --git a/processes/pictures/delivery.sha b/processes/pictures/delivery.sha index d7bf7d2..8a254dc 100644 --- a/processes/pictures/delivery.sha +++ b/processes/pictures/delivery.sha @@ -1 +1 @@ -04839431a9ead9aa3e9abf4a055eee1282eb4abcedfcffcdb46cf00415ae87ac +9fc548f92799b2c56496b006b9a28ccebda77270a21fe9d79527d58fdb6d41e4 diff --git a/processes/pictures/narrating.sha b/processes/pictures/narrating.sha index 7204151..daec858 100644 --- a/processes/pictures/narrating.sha +++ b/processes/pictures/narrating.sha @@ -1 +1 @@ -cb0636faf363d2782f1a70cba79aed40a1da7cd5acdc15a024e7c0d4d08b2479 +07fb096f6356c1f4d67726eaf58ea87a0fba340ce3d66e9917bb5e98b2f6abd4 diff --git a/surfaces/og.sha b/surfaces/og.sha index b5ee2b3..23aee86 100644 --- a/surfaces/og.sha +++ b/surfaces/og.sha @@ -1 +1 @@ -b2f3b876e76e4bebf605e3bc16a5961236022309bb274402add0055cff5b8698 +e7982335e944f4791e8dd048a75ca1588935b742b60907f117b93cf93c447021 diff --git a/talks/deciding-well/cost/og.sha b/talks/deciding-well/cost/og.sha index d870562..cf294eb 100644 --- a/talks/deciding-well/cost/og.sha +++ b/talks/deciding-well/cost/og.sha @@ -1 +1 @@ -9e72555ec91b2e6e3a99fd128d0e4f207a1102c309228075e27d0876d5aa216c +dfe15cb76be838c286cbdcca63117fdc96dfe92d774cdf897ddc0aad2d319130 diff --git a/talks/deciding-well/og.sha b/talks/deciding-well/og.sha index 5750d64..e460e5a 100644 --- a/talks/deciding-well/og.sha +++ b/talks/deciding-well/og.sha @@ -1 +1 @@ -e3ab0ee2d447c245c220f76b1136d834be2e329ad06b9abc9131028c41178b29 +a7b2b62438312a253c3e2788070ba78a4bfae93931b6909c779ac30028f1cf87 diff --git a/talks/essential-complexity/og.sha b/talks/essential-complexity/og.sha index a2c4723..8b265c2 100644 --- a/talks/essential-complexity/og.sha +++ b/talks/essential-complexity/og.sha @@ -1 +1 @@ -bccbcbbcde954968c4e771367723d10a5816756534f6304712a7ad1462e070e4 +787f18dbecc01675e9188d4cd690c496d674949738d450542c302a1b623764f0 diff --git a/talks/mental-model/og.sha b/talks/mental-model/og.sha index efa488c..7f5f5e2 100644 --- a/talks/mental-model/og.sha +++ b/talks/mental-model/og.sha @@ -1 +1 @@ -e0b17f053c4279ccc064867a0d5d2275818530646cefa0f5858dc222fbe39e02 +acbbaad2438bfecfe2d25dbc0d92bc0331a566b60ea37542c47e65c7801f58de diff --git a/talks/og.sha b/talks/og.sha index 819a8c5..3c6cb98 100644 --- a/talks/og.sha +++ b/talks/og.sha @@ -1 +1 @@ -fc6568eff0361077e12355690a1c01bbc7ceb75b8565285b0d43a3e108dba3b7 +019e79880def52d2940c46b0c9d9990de1460044c7b28be2be40f0e2e6ed0e32 diff --git a/timeline/og.sha b/timeline/og.sha index e070279..0167df0 100644 --- a/timeline/og.sha +++ b/timeline/og.sha @@ -1 +1 @@ -57d282cd500d814c066933cadf67d6729e11a2b2d180a974e98d2b1a299a8a8d +f4d1d31e154b9879ae9b8ab87709373701c1e960c2f6ac09d33905f219ec63c3