Repository navigation
site(blog): the pillar post leads the Recommended grid; Articles hero lead in six locales; close the 641–900px grid hole (merge 2026-10-20 after post 2) - #255
Open
objectstack-fleet[bot] wants to merge 3 commits into
Conversation
…ts lead The four pinned "start here" picks now open with the pillar definition post (what-does-the-ontology-is-the-software-mean, slot 2026-10-08) as the feature card, keep enterprise-ontology-race-open-vs-closed (the "you own it" pick; #228 retitles it to the business definition layer), metadata-not-code- generation and vibe-coding-technical-debt-2026, and drop natural-language- to-app-metadata: its actor is an "AI Builder" turning a business user's sentence into pages, where the positioning's writer is a coding agent pointed at ObjectStack, and it is the least cross-linked of the four (3 inbound files). The recommendedLead in all eight locales now describes those four posts in the canonical vocabulary: what "the ontology is the software" means, whose the business definition layer should be, and why AI-built apps stay governable as metadata rather than generated code. The "business semantic layer should be open" clause is retired (the README: the ontology is not a semantic layer over your existing systems). zh-Hant is the repo's s2t of the zh-Hans string. Each lead stays within +25 characters of today's, so the section head keeps its two desktop lines. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FeA1nwBz1ohH65dvffUGKr
…locale Measured in the DOM at the six AGENTS.md viewports: the first wording took a third desktop line in ja and an extra phone line in en and zh-Hans. These shorter leads render the same number of lines as today's at every viewport in en, zh-Hans, zh-Hant, ja and ko; de, es and fr keep their two desktop lines and take one more line at 390px, which no wording within today's length avoided. zh-Hant is again the repo's s2t of the zh-Hans string. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FeA1nwBz1ohH65dvffUGKr
…1–900px grid hole articlesLead (src/lib/i18n.ts) said "AI-native software" in zh-Hans, ja, de, es, fr and ko while en already read "executable business ontologies, runtime governance, and agent-operated applications". The six now carry that sentence with the positioning wave's terms per locale (positioning.ts, post 1, #228); zh-Hant keeps deriving through s2t. Measured in the DOM at eight viewports: every locale stays on one desktop line, and takes at tablet and phone widths the same line counts en's lead already does. The same function feeds the blog index meta description and the RSS channel description. .featured-grid was two columns at 641–900px with the feature spanning the row, so three standard cards left the fourth cell empty. In that range the feature now takes one cell (it is already the stacked card there: ArticleCard drops its side-by-side layout below 1024px) and its thumb takes the standard 16:10, so the four cards fill a 2×2 grid with matching cover heights. One column would stack three oversized cards and break ArticleCard's `sizes` promise that a standard thumb is one of two at this range; a third card spanning both columns reads as a second feature. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FeA1nwBz1ohH65dvffUGKr
This was referenced Oct 15, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #209
Merge on Tue 2026-10-20, right after post 2 (#244), and not before. The new lead line says "who should own the business definition layer". That wording only becomes true when post 2 retitles the sibling post from "Business Semantic Layer" to "Business Definition Layer". The seat ruled that ordering, Q1=A.
Branch. Three commits from the staged
lin/issue-209-grid, replayed ontomain@2e16f1f. All 14 stack cards and #254 are already on main. The replay is patch-equal tolin/post-base..lin/issue-209-grid, with byte-identical diffs. Heada9c74f7.Seat check on the replay, after #223's count-aware grids landed:
pnpm buildexits 0 with 888 pages. Lint--distpasses (CJK breaks, quotation marks, links), and the tree stays clean.The blog-home Recommended grid gets the pillar post, as planned in the #211 ACCEPT (comment 5995074540, answer 2): once post 1 is published, it replaces the weakest-fitting of the four pinned picks, and the lead that introduces the grid describes the four posts actually shown. Two review additions on the same page: the Articles hero lead in the six non-English locales, and the empty grid cell at 641–900px. Two files:
src/components/ArticleList.astroandsrc/lib/i18n.ts(one function per locale).What changed
featuredSlugs(the first entry renders as the full-width feature card):enterprise-ontology-race-open-vs-closedwhat-does-the-ontology-is-the-software-meanmetadata-not-code-generationenterprise-ontology-race-open-vs-closedvibe-coding-technical-debt-2026metadata-not-code-generationnatural-language-to-app-metadatavibe-coding-technical-debt-2026Dropped pick:
natural-language-to-app-metadata— its actor is an "AI Builder" (10 mentions) turning a business user's sentence into pages, where the positioning's writer is a coding agent pointed at ObjectStack, and it is the least cross-linked of the four (3 inbound files, one glossary pair). It stays published and moves to the Latest list.Kept
enterprise-ontology-race-open-vs-closed, which the #211 dev had suggested dropping: #228 retitles it to "Open vs. Closed Enterprise Ontologies: Who Owns the Business Definition Layer?", which makes it the grid's "you own it" post. It has 21 inbound files and carries two of the charter's named concepts ("definition layer vs runtime layer", "protocol-open, definition-closed"). This PR lands after #228 (slot Tue 10-13), so the card never shows the old "Business Semantic Layer" title under the new lead.recommendedLead, every locale. The "why the business semantic layer should be open" clause is retired (the README: the ontology is "not a semantic layer over your existing systems"). The lead now names the three themes of the four picks in canonical vocabulary: what "the ontology is the software" (T1) means, who should own the business definition layer, and why AI-built apps stay governable as metadata, not generated code.Lengths (characters, before → after): en 168 → 171, zh-Hans 55 → 61, zh-Hant 57 → 63, ja 94 → 93, de 168 → 182, es 181 → 193, fr 194 → 209, ko 95 → 95. T1 is quoted per locale from
src/lib/positioning.ts(en case-adapted inside the sentence, as the pillar post's own title does). The zh-Hant string is the repo'ss2tof the zh-Hans string, written as a literal like the rest ofhomeCopy.Every locale shows the pillar.
content/blog/what-does-the-ontology-is-the-software-mean/has all eightindex*.mdx, the build emits the post in all eight locales, and the built/LOCALE/blog/grid has four cards in this order in all eight;natural-language-to-app-metadatais in the Latest list of all eight.The Articles hero lead (
articlesLead,src/lib/i18n.ts)The hero lead above the grid read "executable business ontologies, runtime governance, and agent-operated applications" in en but "AI-native software" in the other six authored locales (zh-Hant derives through
s2t). The six now carry en's sentence with the positioning wave's terms per locale. The same function feeds the blog indexmeta descriptionand the RSS channeldescription, so those change with it.${n}articles on executable business ontologies, runtime governance, and agent-operated applications.${n}篇关于构建 AI-native 软件的文章。${n}篇关于可执行业务本体、运行时治理与 Agent 操作应用的文章。${n}篇關於構建 AI-native 軟體的文章。${n}篇關於可執行業務本體、執行時治理與 Agent 操作應用的文章。${n}本の記事。${n}本の記事。${n}Artikel über den Aufbau AI-nativer Software.${n}Artikel über ausführbare Geschäftsontologien, Runtime-Governance und von Agents bediente Anwendungen.${n}artículos sobre crear software AI-native.${n}artículos sobre ontologías de negocio ejecutables, gobernanza del runtime y aplicaciones operadas por agentes.${n}articles sur la construction de logiciels AI-native.${n}articles sur les ontologies métier exécutables, la gouvernance du runtime et les applications opérées par les agents.${n}개.${n}개.Terms: 可执行业务本体 / 実行可能なビジネスオントロジー / ausführbare Geschäftsontologie / ontología de negocio ejecutable / ontologie métier exécutable / 실행 가능한 비즈니스 온톨로지 and Agent 操作 / エージェントが操作 / von Agents bedient / operadas por agentes / opérées par les agents / 에이전트가 운영 are the T2/T3 renderings in
positioning.ts. Lengths with the built counts: zh-Hans 25 → 35, zh-Hant 25 → 35, ja 31 → 59, de 47 → 104, es 44 → 113, fr 55 → 120, ko 29 → 56 characters (en is 99). The six old leads were stubs that could not carry the three terms; measured in the DOM at eight viewports, every locale stays on one desktop line as today, and at 768/820 and phone widths takes the line counts en's own lead already takes (2 and 3; zh-Hans 1 and 2).The 641–900px grid hole (
ArticleList.astroCSS).featured-gridwas two columns at 641–900px with the feature spanning the row, so three standard cards left the fourth cell empty. In that range the feature now takes one cell and its thumb takes the standard 16:10, so the four cards fill a 2×2 grid with matching cover heights. Why this and not the alternatives: at this range the feature is already the stacked card (ArticleCard drops its side-by-side layout below 1024px), so it gives up nothing it still had; one column would stack three oversized cards and break ArticleCard'ssizespromise that a standard thumb is one of two at this range; a third card spanning both columns reads as a second feature. The override is scoped to(min-width: 641px) and (max-width: 900px)so the phone rules in ArticleCard are untouched, and.article-item.feature .thumboutranks ArticleCard's own.feature .thumbwhatever the bundle order.Gates (final commit
4d9f767, throughscripts/pm/os-verify-lock.sh, held 113s, waited 0s)pnpm check: exit 0 — Result (152 files): 0 errors, 0 warnings.pnpm build: exit 0 — zh-Hant generated 47, content lint passed (347 files), svg-text-fit OK, 888 page(s) built in 68.29s, content lint --dist passed (486 built blog pages), tree clean after the build.pnpm seo:smoke: exit 0 — 878 HTML pages checked.dist/LOCALE/blog/index.htmlthe hero lead, themeta descriptionand the RSS channeldescriptionare the same string, with 0 occurrences of "AI-native".Browser check (AGENTS.md six viewports plus 768×1024 and 820×1180, light and dark, before and after)
/en/blog/,/zh-Hans/blog/and/ja/blog/at 1366×625, 1440×750, 1512×830, 1920×945, 768×1024, 820×1180, 390×844 and 360×800, both themes: 48 page-viewport-theme triples on the state before this addendum (2ce9631's two files, built withastro build --outDirinto a scratch directory) and 48 on4d9f767, served fromdist/and driven by Playwright Chromium; lazy images scrolled into view before judging; the Recommended section screenshotted on its own, plus the viewport and the full page.documentElement.scrollWidthequals the viewport width, 0 elements extending past the viewport outside a scroll container, 4 cards, every row reaches the grid's left and right edges, the two covers in each tablet row are the same height (218px at 768, 234px at 820), the feature card is 49% of the grid at 768/820 and full width elsewhere, and neither lead overflows its box.2ce9631exactly.Acceptance notes
homeCopykeeps a hand-written zh-Hant string whilepositioning.tsandi18n.tsderive zh-Hant withs2t; the old hand-written lead differed froms2tby one word (語意 vs 語義). Noted only.positioning.tsalready has for T2. Noted only.Generated by Claude Code
🤖 Generated with Claude Code
https://claude.ai/code/session_01FeA1nwBz1ohH65dvffUGKr