From 6b271b61c9b83c20cbdb122565f8d74c2e1df26f Mon Sep 17 00:00:00 2001 From: Implementer Date: Sun, 11 Oct 2026 10:00:01 +0200 Subject: [PATCH] Takes design v0.150.0 This re-pin moves @robertblust/design from v0.148.0 to v0.150.0. The chat's notice now opens with the sentence that an AI answers here and not a person, under a rail in the terminal's amber, which Article 50 of the EU AI Act asks a chat to say before the first message; v0.149.0, taken on the way, changed only the typography check. The model and parser pins stay where they are. npm run design rewrote chat.js and chat.css; the process pictures were drawn again because chat.js moved, and the pages and the cards followed. Verified: the lockfile resolves @robertblust/design to 63044b2, the tag's commit; npm run design, pages, pictures, pages and og ran; npm run verify against a local server on its own port passes every page and the sitemap's 16 URLs. Two earlier verify runs beside other sites' suites dropped static requests on one or two pages; alone it passes. 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 | 8 ++++++-- chat.js | 10 ++++++---- 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, 36 insertions(+), 30 deletions(-) diff --git a/blog/deciding-well-solved/og.sha b/blog/deciding-well-solved/og.sha index 42fecfe..c5cbdab 100644 --- a/blog/deciding-well-solved/og.sha +++ b/blog/deciding-well-solved/og.sha @@ -1 +1 @@ -bf5e14489362ccb69f5e554ab1fec917d4e47612557778508c501430078e8e9a +31822d50f0f211896bf967d08e76e9ec0616d164badc62057eb12106e5be434b diff --git a/blog/og.sha b/blog/og.sha index 64eedba..859d6a1 100644 --- a/blog/og.sha +++ b/blog/og.sha @@ -1 +1 @@ -817b185afa343da6fe154ed0906fe2e85df42ae2aefbd81cd13d7e50f2fd9835 +5401b30118574120ec7e075c9da15f75e70798127fa715d4be56c4dc7b6f2d16 diff --git a/blog/one-question-answered/og.sha b/blog/one-question-answered/og.sha index abcac42..15b050f 100644 --- a/blog/one-question-answered/og.sha +++ b/blog/one-question-answered/og.sha @@ -1 +1 @@ -1d504d01910733c267a05dcd150f940cf74aa3bf5d8cb3361b50a9b7913fb7dd +2eb8fcd132c2d3a1f4187d7a147f70dc204e623f8c3cf865bec5e369fbf57e98 diff --git a/chat.css b/chat.css index 501d2ec..19768ad 100644 --- a/chat.css +++ b/chat.css @@ -266,8 +266,12 @@ figure.rbchat-diagram[data-diagram]{border-top:0;padding-top:0;margin:1.1rem 0 1 .rbchat-sub{font-size:.8rem;color:var(--t-dim)} .rbchat-hello{margin:0 0 .5rem} .rbchat-h2{color:var(--t-dim)} -.rbchat-notice{margin:0 0 .9rem;color:var(--t-dim)} -.rbchat-notice::before{content:"# "} +/* The notice carries a rail in the terminal's amber, as an answer carries one in its green, and the + one sentence the law asks for, that an AI answers, stands first in the panel's ink; the rest stays + dim. The rail is a frame and not a verdict on the words, which is what the same amber under a + claim is. */ +.rbchat-notice{margin:0 0 .9rem;padding-left:.7rem;border-left:2px solid var(--t-part);color:var(--t-dim)} +.rbchat-ai{font-weight:400;color:var(--t-ink)} .rbchat-label{margin:.5rem 0 0;color:var(--t-dim)} .rbchat-prompt-line{margin:.6rem 0 0;color:var(--t-strong)} .rbchat-menu{display:flex;flex-direction:column} diff --git a/chat.js b/chat.js index c1a8097..e8e2aee 100644 --- a/chat.js +++ b/chat.js @@ -98,7 +98,7 @@ en: { open: "Ask the model", close: "Close", title: "Ask the model", size: "Resize the chat", placeholder: "Ask about the model…", waiting: "Asking…", - notice: "Your message and the conversation so far go to {host}, which asks the model and Claude through Anthropic's API. Nothing is sent until you press send. The conversation stays in this tab, so it is still here on the next page, and closing the tab ends it.", + ai: "An AI answers here, not a person.", notice: "Your message and the conversation so far go to {host}, which asks the model and Claude through Anthropic's API. Nothing is sent until you press send. The conversation stays in this tab, so it is still here on the next page, and closing the tab ends it.", privacy: "Privacy", privacyHref: "/privacy/", from: "From the model", questions: "Questions to start with", next: "Questions to ask next", follow: { schema: "Show me the schema of {title} ({type})", neighbors: "Show me the neighbors of {title}", more: "Tell me more about {title}" }, @@ -149,7 +149,7 @@ de: { open: "Das Modell fragen", close: "Schliessen", title: "Das Modell fragen", size: "Grösse des Chats ändern", placeholder: "Fragen Sie das Modell…", waiting: "Wird gefragt…", - notice: "Ihre Nachricht und der bisherige Verlauf gehen an {host}, das das Modell und Claude über Anthropics API fragt. Gesendet wird erst, wenn Sie auf Senden drücken. Das Gespräch bleibt in diesem Tab, ist also auf der nächsten Seite noch da, und endet, wenn Sie den Tab schliessen.", + ai: "Hier antwortet eine KI, keine Person.", notice: "Ihre Nachricht und der bisherige Verlauf gehen an {host}, das das Modell und Claude über Anthropics API fragt. Gesendet wird erst, wenn Sie auf Senden drücken. Das Gespräch bleibt in diesem Tab, ist also auf der nächsten Seite noch da, und endet, wenn Sie den Tab schliessen.", privacy: "Datenschutz", privacyHref: "/privacy/", from: "Aus dem Modell", questions: "Fragen für den Einstieg", next: "Weitere Fragen", follow: { schema: "Zeig mir das Schema von {title} ({type})", neighbors: "Zeig mir die Nachbarn von {title}", more: "Erzähl mir mehr über {title}" }, @@ -1968,8 +1968,10 @@ }); document.body.appendChild(button); - // The notice, in the intro now, as a comment line: where the message goes, and the privacy page. - function writeNotice(){ if (!notice) return; var s = strings(langNow()); notice.innerHTML = esc(s.notice).replace("{host}", "" + esc(HOST) + "") + ' ' + esc(s.privacy) + ""; } + // The notice, in the intro, under its rail: first that an AI answers and not a person, the sentence + // the EU AI Act asks a chat to say before the first message, then where the message goes, and the + // privacy page. + function writeNotice(){ if (!notice) return; var s = strings(langNow()); notice.innerHTML = '' + esc(s.ai) + " " + esc(s.notice).replace("{host}", "" + esc(HOST) + "") + ' ' + esc(s.privacy) + ""; } function relabel(){ var s = strings(langNow()); button.querySelector("span").textContent = s.open; button.setAttribute("aria-label", s.open); diff --git a/ideas/og.sha b/ideas/og.sha index bbc25b3..891c8ae 100644 --- a/ideas/og.sha +++ b/ideas/og.sha @@ -1 +1 @@ -3943fcee9832638a5c00bffc3bd7a7246ead8bebf4a88ce29d73a51cc2c93cd9 +5a219393c867e14ad15d20953f25743a118d714853259fa0505ef5b65b7ba5f2 diff --git a/model/og.sha b/model/og.sha index 314d80f..557120b 100644 --- a/model/og.sha +++ b/model/og.sha @@ -1 +1 @@ -3affdc93a42b6a280875770ddc5cad9258ffa4159408644b1fb05b1f7b09f770 +8d6cb726ee056f2b1564d0f668d3f39bcf2a90bb3e6af450b2689e3818eaa27c diff --git a/og.sha b/og.sha index 5ae7eb8..8b1f093 100644 --- a/og.sha +++ b/og.sha @@ -1 +1 @@ -fcf48223014aad9f83b0aaa22d932835fb5890ab9c62f9697f27dd3c11ff8b09 +163f10abb9c77a1f8b0560f62187fdd68fcb9f830558b6ea55e570175ac230b7 diff --git a/package-lock.json b/package-lock.json index 69e49ea..2aed9f2 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.148.0", + "@robertblust/design": "github:robertblust/design#v0.150.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.148.0", - "resolved": "git+ssh://git@github.com/robertblust/design.git#a8094fbc7dbe4eff0d2091a5ee3db8ff806c4a0c", + "version": "0.150.0", + "resolved": "git+ssh://git@github.com/robertblust/design.git#63044b26ec57d169d7bb91a5de8fd12ee4b78881", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/package.json b/package.json index 39e5dfe..a5b1a1e 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "pin:check": "node pin-check.mjs" }, "devDependencies": { - "@robertblust/design": "github:robertblust/design#v0.148.0", + "@robertblust/design": "github:robertblust/design#v0.150.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 382255b..1612ef2 100644 --- a/principles/og.sha +++ b/principles/og.sha @@ -1 +1 @@ -186141a9b628e984e9052205ff2a2cef0836fc9a2f2d1f7124e2a7cdd656e66d +32f96a35179035dac90e094ea9e2b7377b492424f3a1de2a8e49d3b2f732ad01 diff --git a/privacy/og.sha b/privacy/og.sha index 72f59a3..2f75533 100644 --- a/privacy/og.sha +++ b/privacy/og.sha @@ -1 +1 @@ -16ee6386bdd2d45101a90e3374597c94333c6155250908b8a1e7cd8a7631bce5 +852c558b98a55cf37d350ac879e86a9b5e561a4522678dee67258a05fe5de6ba diff --git a/processes/og.sha b/processes/og.sha index a2a97f1..eda8092 100644 --- a/processes/og.sha +++ b/processes/og.sha @@ -1 +1 @@ -27c1aae7fc0713934ab2210a7bd51f032bc5190adeb4e1f840cbd8c5a3550871 +3e5f135ad5bd66cc2e6b655555babd4fd8ae859279507286f047fda4f4c53298 diff --git a/processes/pictures/answering.sha b/processes/pictures/answering.sha index 16148c7..48781cc 100644 --- a/processes/pictures/answering.sha +++ b/processes/pictures/answering.sha @@ -1 +1 @@ -c0999c70641cc4ead4723d1023546c3a51eaa3bf8e88656536b3e6fc27e56da4 +4decf2a5b45e907bf64043674e33cd19047a7ef89a294ce8abb2ba4e553efa00 diff --git a/processes/pictures/deciding.sha b/processes/pictures/deciding.sha index c2b65d6..51b64f2 100644 --- a/processes/pictures/deciding.sha +++ b/processes/pictures/deciding.sha @@ -1 +1 @@ -5949d678a614675900f9e18b0daaabdc1fee3aef07a4562cf4cf85af84f2eab5 +12ed3fe08c05bbfe7b8be83b0d34f9c75b0998542680c8e1a9d508b85b913635 diff --git a/processes/pictures/delivery.sha b/processes/pictures/delivery.sha index 57c99c3..d7bf7d2 100644 --- a/processes/pictures/delivery.sha +++ b/processes/pictures/delivery.sha @@ -1 +1 @@ -8bfeef62b0253093e149234eab0572877ccf8c32f2b255668f0e46fc9efaa025 +04839431a9ead9aa3e9abf4a055eee1282eb4abcedfcffcdb46cf00415ae87ac diff --git a/processes/pictures/narrating.sha b/processes/pictures/narrating.sha index 7e919ac..7204151 100644 --- a/processes/pictures/narrating.sha +++ b/processes/pictures/narrating.sha @@ -1 +1 @@ -fca4bb770175e6f54014dc52561a87d838a08ee59eb7c1841be2989cc36dbe1d +cb0636faf363d2782f1a70cba79aed40a1da7cd5acdc15a024e7c0d4d08b2479 diff --git a/surfaces/og.sha b/surfaces/og.sha index 00ffec4..b5ee2b3 100644 --- a/surfaces/og.sha +++ b/surfaces/og.sha @@ -1 +1 @@ -bd358cb9ec01e6f21125d0fdad1298cfcd182c4b6f4c46ad8ea557aff803449a +b2f3b876e76e4bebf605e3bc16a5961236022309bb274402add0055cff5b8698 diff --git a/talks/deciding-well/cost/og.sha b/talks/deciding-well/cost/og.sha index fb5c00f..d870562 100644 --- a/talks/deciding-well/cost/og.sha +++ b/talks/deciding-well/cost/og.sha @@ -1 +1 @@ -6e88be7228c75bd6ffa8a977d2c74ce06e26013a1bfdbbe176758063dc7a5e42 +9e72555ec91b2e6e3a99fd128d0e4f207a1102c309228075e27d0876d5aa216c diff --git a/talks/deciding-well/og.sha b/talks/deciding-well/og.sha index 2a53fe7..5750d64 100644 --- a/talks/deciding-well/og.sha +++ b/talks/deciding-well/og.sha @@ -1 +1 @@ -a9a1300947cf2b34ec3a66b16402d0aad0a133daeee0b19914c4c3622a13b998 +e3ab0ee2d447c245c220f76b1136d834be2e329ad06b9abc9131028c41178b29 diff --git a/talks/essential-complexity/og.sha b/talks/essential-complexity/og.sha index a527b30..a2c4723 100644 --- a/talks/essential-complexity/og.sha +++ b/talks/essential-complexity/og.sha @@ -1 +1 @@ -0249b3ec2e16f42ab9510ce3914367b1413aa6c2a449cda8528c841ecbe601b5 +bccbcbbcde954968c4e771367723d10a5816756534f6304712a7ad1462e070e4 diff --git a/talks/mental-model/og.sha b/talks/mental-model/og.sha index 0bb59ac..efa488c 100644 --- a/talks/mental-model/og.sha +++ b/talks/mental-model/og.sha @@ -1 +1 @@ -55cc7abab957f234748d37acc84070e3183310a7d7033b251ef7442c62921df3 +e0b17f053c4279ccc064867a0d5d2275818530646cefa0f5858dc222fbe39e02 diff --git a/talks/og.sha b/talks/og.sha index b400bd2..819a8c5 100644 --- a/talks/og.sha +++ b/talks/og.sha @@ -1 +1 @@ -b5dbefca2c3d73a91e0bf746f1d03e315352d84b50c4647a0f33049154505bce +fc6568eff0361077e12355690a1c01bbc7ceb75b8565285b0d43a3e108dba3b7 diff --git a/timeline/og.sha b/timeline/og.sha index 94e672a..e070279 100644 --- a/timeline/og.sha +++ b/timeline/og.sha @@ -1 +1 @@ -eb3161861a74f8c0b234955e6048ab99a26f39bf7d96f3b1272707d86454c922 +57d282cd500d814c066933cadf67d6729e11a2b2d180a974e98d2b1a299a8a8d