From 1429cb00c8c9476d7f402113ec7efd74d487562a Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 3 Sep 2026 03:33:33 +0000 Subject: [PATCH 1/3] conversational-app-iteration covers: lift the caption clear of the bottom node marker MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two text nodes were drawn on top of the dark node markers, which share the markers' fill, so the glyphs under them were invisible (1.01:1 and 1.04:1 against the worst ground pixel under their own ink). Geometry only, no palette or wording change: - The right-hand label was centred at x=632, putting its left edge 12px inside the marker at cx=572 r=18 — the label read "hange plan". It now anchors at start, x=608, an 18px gap from the marker edge that mirrors the 19px gap "Audit" already has on the opposite side. Anchoring at start makes the clearance independent of the rendered string width, which matters because the font stack resolves differently per platform. - The footnote caption at y=346 ran under the bottom marker (y 308-344), striking through "workflows". The card grows 388 -> 424 so the caption can drop to y=398, into a band of its own below the "Confirm" label, with 22px of bottom padding to match the 22px above "Request". Both changes are applied to the Simplified sibling in lockstep. Its label cleared the marker by only 6px before and now has the same 18px. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01FeA1nwBz1ohH65dvffUGKr --- content/blog/conversational-app-iteration/cover-en.svg | 6 +++--- content/blog/conversational-app-iteration/cover.svg | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/blog/conversational-app-iteration/cover-en.svg b/content/blog/conversational-app-iteration/cover-en.svg index 800d65e..a381f98 100644 --- a/content/blog/conversational-app-iteration/cover-en.svg +++ b/content/blog/conversational-app-iteration/cover-en.svg @@ -16,7 +16,7 @@ Natural language should create plans, confirmation, runtime changes, audit, and rollback - + @@ -28,7 +28,7 @@ Request - Change plan + Change plan Confirm Audit @@ -37,6 +37,6 @@ Metadata Fields · flows · access - Every change explains its impact: objects, fields, views, workflows, permissions, automation, Agent tools + Every change explains its impact: objects, fields, views, workflows, permissions, automation, Agent tools diff --git a/content/blog/conversational-app-iteration/cover.svg b/content/blog/conversational-app-iteration/cover.svg index 2d0f949..f7046f9 100644 --- a/content/blog/conversational-app-iteration/cover.svg +++ b/content/blog/conversational-app-iteration/cover.svg @@ -16,7 +16,7 @@ 自然语言不是直接改库,而是生成计划、确认、应用、审计和回滚 - + @@ -28,7 +28,7 @@ 对话需求 - 变更计划 + 变更计划 确认应用 审计回滚 @@ -37,6 +37,6 @@ 元数据 字段 · 流程 · 权限 - 每次修改都要说明影响范围:对象、字段、视图、流程、权限、自动化、Agent 工具 + 每次修改都要说明影响范围:对象、字段、视图、流程、权限、自动化、Agent 工具 From ad88030d63084f11f8f5adf1aca8a479fbffe1c9 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 3 Sep 2026 03:35:43 +0000 Subject: [PATCH 2/3] metadata-not-code-generation cover: break the caption that ran off the dark card "One business model drives UI, API, automation, Agents, and audit" measured 468.38px at 16px, in a card whose inner width is 360px (440 wide, 40px padding each side). The last 68px hung off the right edge, so "and audit" was pale mint (#b7d6ce) on the cream ground (#e6e3d5) at 1.21:1 and could not be read. The card cannot grow: the arrow ends at x=640 and the card already runs to x=1114 with the same 86px canvas margin the left card has, so widening it enough (+108px of inner width) would either collide with the arrow or collapse the margin. Geometry only, no wording, colour or size change: the same words break onto a second line, subject-verb on the first and the list on the second. The first line keeps its baseline at y=374 and the second sits at y=398, leaving 20px above the pair and 19px below it inside the card. Both lines now score 7.90:1 on the card ground, which is what the old median metric always reported for the line as a whole. The Simplified sibling is not affected and is deliberately untouched: its caption measures 380.5px in the same 440px card, clearing the edge by 19.5px at 7.90:1. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01FeA1nwBz1ohH65dvffUGKr --- content/blog/metadata-not-code-generation/cover-en.svg | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/blog/metadata-not-code-generation/cover-en.svg b/content/blog/metadata-not-code-generation/cover-en.svg index aec34aa..c294e16 100644 --- a/content/blog/metadata-not-code-generation/cover-en.svg +++ b/content/blog/metadata-not-code-generation/cover-en.svg @@ -60,7 +60,8 @@ - One business model drives UI, API, automation, Agents, and audit + One business model drives + UI, API, automation, Agents, and audit From 4cfecea458a4efa2d3547f434fc801dc55ed27d3 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 3 Sep 2026 03:40:14 +0000 Subject: [PATCH 3/3] review-loop diagram: give box 3 a fourth line so "structurally" stays on the card MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Box 3's last line, "should it?" answered structurally, measured 184.71px from x=20 in a 200px-wide card. The last 4.7px plus the descender of the final "y" hung off the right edge onto the near-white page ground at 1.63:1, so the word ended mid-air. The card cannot widen: the four cards sit on a 200/40 grid with the yellow connectors occupying the gaps (740-780 immediately to box 3's right), and the row already runs 60..980 of a 1000-wide canvas. A three-line re-flow does not exist either. The box tolerates about 177px per line (box 1's longest line is 177.2px), and every way of breaking the 445.6px of content across three lines while keeping the quoted phrase whole leaves one line at 184.7px or more — measured, not estimated. So the content takes a fourth line and all four cards grow 120 -> 140 to keep the row uniform. Growing the rects moves no text: the only text node that moves is the bottom caption, which follows the dashed return path down by 20px to keep its existing 14px gap. The connectors move to y=180, the new vertical centre of the cards. Same words, same sizes, same colours throughout. The Simplified sibling is deliberately untouched: its longest box-3 line reaches x=150 of 200, well inside the card. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01FeA1nwBz1ohH65dvffUGKr --- .../review-loop-en.svg | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/blog/ai-wrote-your-app-dare-to-merge/review-loop-en.svg b/content/blog/ai-wrote-your-app-dare-to-merge/review-loop-en.svg index cb95e28..ce9ae8f 100644 --- a/content/blog/ai-wrote-your-app-dare-to-merge/review-loop-en.svg +++ b/content/blog/ai-wrote-your-app-dare-to-merge/review-loop-en.svg @@ -10,26 +10,26 @@ Once writing is automated, what's left for humans is choosing and reviewing Machine writes, human reviews a small diff, runtime backs it — the human stays the one who signs off - + 1 · AI writes turns the requirementinto declarative metadata (dozens of lines, not thousands) - + 2 · Human reviews reads the diff line by line:which object changed, which permission moved - + 3 · Runtime governs enforce permissions, hitapproval, write audit — - "should it?" answered structurally - + "should it?" answeredstructurally + 4 · Agent operates same governed tools;the agent can only act within the bounds - + - - Next change, back to 1 — and every round, the diff stays small enough to review and the actions stay governed. + + Next change, back to 1 — and every round, the diff stays small enough to review and the actions stay governed.