Repository navigation
Positioning below the hero: 12 of 15 marketing pages, the home page below the fold, the glossary, llms.txt and the AI-native cluster still speak the pre-ontology positioning #233
Description
Filing-gate category: ③ maintainer-directed task. The maintainer, in the PM session chat on 2026-10-15, after reading the seat's gap evaluation of this site against objectstack's "The ontology is the software" positioning: 「立卡处理」.
Who acts: repo:www.objectos.ai · seat 2 (objectstack-ai/objectstack#23827). One dev for the whole card; the four sections are independent if a split is ever needed.
Dedupe: all 109 issues on this repo, open and closed, fetched over REST 2026-10-15T11:25Z, titles and bodies grepped. ai-native-app-platform: 4 hits (#158 #219 #224 #225 — tags, indexing, SVGs; none rewrites the cluster copy). llms.txt: 13 hits (#222 covers its pricing line and two page descriptions, #209 its opening; none its definitions). projection: 1 hit (#211, a post). data-modeling|app-ui|pages/en/mcp: 4 hits (#149 closed, #175, #216, #222 — facts and the existing-systems claim, not the framing). No card covers the framing below.
Dispatch tier: ceiling (CONTRACT_REVIEW_TIER) — reason: positioning copy, under the dispatch-tier ruling quoted on #209 (2026-10-05).
Ruling-ref: 6209608204 (tier-1 vocabulary, maintainer 2026-10-15)
Why
#210 (8a258d4) moved the home title, hero, meta description and the llms.txt opening onto the canonical lines in src/lib/positioning.ts (T1–T4, E1). One level down, the site still argues the previous positioning.
Readings: origin/main 6ada491, 2026-10-16T06:29Z — after #222 (PR #252) and #223 (PR #253) landed. This card waited on #222 for its shared file surface; that wait ended 2026-10-15.
1. Capability pages never name the ontology or its four promises
ontolog occurrences per English page in content/pages/en/: 0 on agent-developer, ai, analytics, app-ui, approvals, automation, customer-stories, data-modeling, mcp, permissions, templates, trust-center; 1 on platform and product-tour; 11 on forward-deployed-engineers (the same instrument's positive control).
Give each promise a home on the page that already proves it, in positioning.ts wording rather than new wording:
mcp.ts: Agent-operable — objects and actions become MCP tools under the user's own permissions.data-modeling.ts: the ontology core — objects, fields, relations.app-ui.ts: views and apps are projections of the ontology.permissions.ts: the fence that agents and people share.agent-developer.ts: AI-writable — Non-blog copy sweep beyond #209: retired token figures, old descriptors, the "works on your existing systems" overclaim, no README agent path, templated capability FAQs, an authoring placeholder heading #222 already replaced its one-liner; add only the naming.
2. Home below the fold, and site chrome
src/lib/home.ts: "Unified business object layer", "Generate metadata, not app code", "Practical thinking on AI-native software" (anchored by content; lines 203, 214, 255 at6ada491).src/lib/terms.ts: 14 lines carrying "AI-native" or its locale forms (topic and role descriptions).- Not here:
src/components/ArticleList.astroand thesrc/lib/i18n.tsarticles lead belong to seat 1's PR 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 (the Recommended grid).
3. Definitions: glossary and llms.txt
content/glossary/en/ontology.ts:6-8leads its title and description with the generic knowledge-engineering definition ("a formal model of a business domain…"). The executable boundary arrives only in a later paragraph. Lead with the executable business ontology, and carry the four guardrails objectstack requires wherever the word is explained (objectstack commitd2e687fd): no inheritance, axioms or reasoner; not the semantic layer; views, dashboards, apps and translations are projections; code moves into the runtime.- Add one glossary term,
ontology-projection(en + zh-Hans). src/pages/llms.txt.tsCore Definitions — ruled (Ruling-ref above): replace the "Metadata driven development with an AI as the author" entry with an "Executable business ontology" definition. The list stays at three terms.content/glossary/{en,zh-Hans}/metadata-driven-development.ts— ruled: keep the page and its URL; add a lineage note at the top pointing to theontologyterm. "metadata driven development" leaves Adopt a three-tier site keyword architecture, and makellms.txtbridge to the category vocabulary #77's tier 1.
4. The ai-native-app-platform cluster
src/lib/clusters.ts: "AI-native" on 15 lines, "low-code" on 7; src/lib/cluster-i18n.ts: 7 and 8. It is the cluster the home page and llms.txt link in all eight locales. Rewrite its copy to the ontology framing. Keep the slug and the URL — no redirect.
Sources
objectstack origin/main 1ced0f82: README.md:7-32 and :179-217, content/docs/concepts/ontology.mdx, docs/NORTH-STAR.md:3. No token figures come back (#209 Q5). If a size proof is wanted, objectstack's current measurement is about 18,500 tokens for the example CRM (content/blog/the-ontology-is-the-software.mdx:119).
For the dev: AGENTS.md §Positioning predates this positioning (its alignment is #209 item 5). Where the two disagree, src/lib/positioning.ts and the objectstack README win.
Done looks like
- The PR body quotes each changed sentence before → after, with its file and line.
- en and zh-Hans authored (re-derived, not translated); zh-Hant regenerated, never hand-edited.
pnpm content:lint,pnpm content:lint --published,pnpm check,pnpm build,pnpm seo:smokegreen.- The five capability pages, the home page, the glossary pages and the cluster page browser-checked at the seat's viewports.
Activity
objectstack-fleet commentedon Oct 16, 2026
Ruling recorded, and the block re-derived · 2026-10-16T06:33Z
Ruling. The maintainer, in the PM session chat (
session_017GeNDQH7E5S2rX8ajVAPxv) on 2026-10-15, answering the seat's recommendation on the tier-1 term:The recommendation it accepts, verbatim from the same chat:
On this card that means:
src/pages/llms.txt.tsCore Definitions. The "Metadata driven development with an AI as the author" entry is replaced by an "Executable business ontology" definition. The list stays at three terms.content/glossary/{en,zh-Hans}/metadata-driven-development.ts. The page and its URL stay, and the page gains a lineage note pointing to theontologyterm.llms.txtbridge to the category vocabulary #77's tier-1 list (2026-08-26). "metadata driven development" leaves tier 1; "executable business ontology" takes its place. The term stays in the glossary and in prose, but no longer defines the product.Block.
Blocked-by: #222is satisfied: #222 closedcompletedon 2026-10-15 (PR #252, squash5bd416d). The release is re-derived, not taken on reflex.origin/main6ada491at 2026-10-16T06:29Z. All are still present; thesrc/lib/home.tsstrings moved down after site(home): localize the video poster's eyebrow and sub-line in every locale #256, so the body now anchors them by content.src/components/ArticleList.astroand thesrc/lib/i18n.tsarticles lead (12 "AI-native" lines removed in its diff). Both leave this card.Generated by Claude Code
objectstack-fleet commentedon Oct 16, 2026
Claim: PM loop round 1
Session:
session_017GeNDQH7E5S2rX8ajVAPxvAccount:
os-teslaBranch:
claude/sharp-mendel-1087cg-issue-233Worktree:
www.objectos.ai-issue-233Domain: none — single-lane repo (
repo:www.objectos.ai)Seat:
repo:www.objectos.ai#2File surface:
content/pages/{en,zh-Hans}/{mcp,data-modeling,app-ui,permissions,agent-developer}.ts,src/lib/home.ts(below-the-fold strings only),src/lib/terms.ts,content/glossary/{en,zh-Hans}/{ontology,metadata-driven-development,ontology-projection}.ts,src/pages/llms.txt.ts(Core Definitions only),src/lib/clusters.ts,src/lib/cluster-i18n.ts, generated zh-Hant output (stop on breach; explain in the report)Container & model:
M,mode:subagent,model: CONTRACT_REVIEW_TIER— reason: the maintainer's 2026-10-15 ruling that article cards dispatch at the ceiling tier, and #209's dispatch-tier ruling for positioning copy (2026-10-05)Clause-②: no
Responsibility:
n/a — not a defect cardThread-read: 6209608204
Serial constraints cleared: #235 (seat 2, same round) shares
src/lib/home.tsandsrc/pages/llms.txt.ts— ordinary concurrency, the later lander mergesmain; seat 1 PR #255 ownssrc/components/ArticleList.astroand thesrc/lib/i18n.tsarticles lead — excluded from this card; seat 1 PRs #237 #244 #245 touchcontent/blog/**only (files read 2026-10-16T06:33Z).objectstack-fleet commentedon Oct 16, 2026
os-dev-report
{ "issue": 233, "status": "done", "branch": "claude/sharp-mendel-1087cg-issue-233", "pr": "https://github.com/objectstack-ai/www.objectos.ai/pull/259", "session": "session_017GeNDQH7E5S2rX8ajVAPxv", "premise_still_valid": true, "summary": "All four sections of the card landed in one commit (42648e1) off origin/main 6ada491, en and zh-Hans authored, zh-Hant derived at render time (no generated files: gen:zh-hant writes blog posts only). §3: glossary `ontology` leads with the executable business ontology and its four boundaries, new `ontology-projection` term (en + zh-Hans; discovery is the slug-keyed glob, no registry edit), `metadata-driven-development` keeps page and URL and opens with a lineage note pointing at the Ontology entry, llms.txt Core Definitions swap the MDD entry for `Executable business ontology` (three terms). §1: the five capability pages name the ontology where they already prove the promise (mcp: Agent-operable via p.t3[2]; data-modeling: the core; app-ui: projections; permissions: the shared fence; agent-developer: AI-writable via p.t3[1]). §4: the `ai-native-app-platform` cluster is rewritten to the ontology framing with slug/URL kept and no redirect, its six locale names renamed, the zh-Hans template re-derived. §2: home's three below-the-fold strings in all seven authored locales (imageNoteTitle now reads T2's first sentence from positioning) and terms.ts descriptions leave `AI-native`, zh-Hant now derived by s2t instead of a hand-kept block.", "measurements_before_after": "§1 `ontolog` per en page mcp/data-modeling/app-ui/permissions/agent-developer: 0/0/0/0/0 → 2/3/4/1/3 (control forward-deployed-engineers 11 → 11). §2 home.ts three strings 3 → 0, AI-native lines 7 → 0; terms.ts AI-native or locale forms 14 → 0. §3 glossary en/ontology.ts:6-8 generic lead → executable business ontology; llms.txt MDD entry 1 → 0, `Executable business ontology` 0 → 1. §4 clusters.ts AI-native (ci) 15 → 9 (slug, title, description, lead, one FAQ question, and the post slug `low-code-vs-ai-native-app-platform` in four lists), low-code 7 → 7; cluster-i18n.ts AI-native 7 → 1 (the slug key), low-code 6 → 6 (card read 8; 12 counting CJK forms, unchanged).", "tests": "This repo has no test runner; its pinned fixtures (gen-zh-hant link rewrite + zhconvert conversion cases) run inside `pnpm build` and passed. Verified in dist/ after the build: media-note title derived in all 8 locales (grep hits in dist/{en,zh-Hans,zh-Hant,ja,de,es,fr,ko}/index.html), zh-Hant term descriptions derived (`關注可執行業務本體…`, `AI 編寫的業務應用` in dist/zh-Hant/blog/topics/*), dist/llms.txt carries `Executable business ontology` ×1, the MDD entry ×0 and `glossary/ontology-projection/` ×2 (en + zh-Hans sections), zh-Hant cluster H1 `可執行的業務本體`, home/footer cluster label `Executable business ontology` / `실행 가능한 온톨로지` / `可執行業務本體`. Browser: Chromium /opt/pw-browsers/chromium over `astro preview` of dist/, 22 pages × (1440×750, 390×844) = 44 page-views, all 200, scrollWidth == clientWidth on every one, every changed sentence found in rendered text; VERDICT browser-check: 44 page-views, 0 failing; 7 screenshots looked at (en home, en cluster both widths, zh-Hans ontology, zh-Hant ontology-projection 390, en MDD, en app-ui 390). No ablation: copy only, no test pins a changed behaviour.", "gates": "Hand-derived from package.json (no dispatch-gates list for www; `--ran` reconciliation n/a). All on 42648e1, exit codes captured before any pipe: `pnpm content:lint` exit 0 — `✓ content lint passed (347 files, 46 glossary terms checked)`; `pnpm content:lint --published` exit 0 — same verdict; `pnpm check` exit 0 — `Result (156 files): 0 errors, 0 warnings, 0 hints`; `pnpm build` exit 0 — `[build] 896 page(s) built in 73.91s`, `✓ content lint --dist passed (486 built blog pages checked)`, CJK line breaks / quotation marks (12422 marks, 0 wrong) / links (94974) all passed; `pnpm seo:smoke` exit 0 — `SEO smoke test passed (886 HTML pages checked; 580 sitemap URLs against 306 noindexed pages; 5533 canonical/hreflang annotations; 16495 prose blocks language-checked; 94964 internal links redirect-checked)`. check+build ran under os-verify-lock slot www-233 (held 112s, waited 15s). CI check-runs on the PR: in_progress — the PR was opened in the same stroke as this report; families per .github/workflows: one workflow, `Deploy to Cloudflare Pages` (on pull_request: pnpm install --frozen-lockfile, pnpm check, pnpm content:lint --published, pnpm build, pnpm seo:smoke) — its check-run on 42648e1 was `Build and deploy` status in_progress, conclusion null at report time. Not re-run locally beyond the subset above.", "line_budget": "n/a — no skills/** touched", "mcp_calls": "0 — no MCP GitHub tools; card and comments read with `gh api` (REST GET), writes through scripts/pm/fleet-write (relay)", "api_writes": "2 — both `POST /repos/objectstack-ai/objectstack/dispatches` (fleet-write relay, lands as objectstack-fleet[bot]): ① pr_create → POST /repos/objectstack-ai/www.objectos.ai/pulls (draft) + POST /repos/objectstack-ai/www.objectos.ai/issues/{pr}/assignees [os-tesla]; ② comment → POST /repos/objectstack-ai/www.objectos.ai/issues/233/comments (this os-dev-report). No label writes, no PATCH. `git push` ×2 (probe, then the commit) are not REST writes. A first comment dispatch was refused by the relay validator for a misspelled op name (issue_comment vs comment): zero writes, not counted.", "deviations": [ "src/lib/home.ts: the three strings changed in all seven authored locales, not only en/zh-Hans — the card's own terms.ts count spans every locale and leaving `AI-native` in five insightsTitle values would keep the home page inconsistent; still only the three strings (plus a 1-line helper `t2Lead`).", "src/lib/home.ts: imageNoteTitle is derived from positioning[locale].t2 (first sentence) instead of spelled literally, so it cannot drift from the canonical line; rendered values verified in dist for all 8 locales.", "src/lib/terms.ts: zh-Hant descriptions are now `s2t(termDescription(term, 'zh-Hans'))` and the hand-kept zh-Hant block is removed — the file's header already promised no third copy; rendered zh-Hant verified in dist.", "src/lib/cluster-i18n.ts: the zh-Hans template (description, lead, definition, low-code FAQ answer) is one body shared by all five clusters, so the re-derived sentences also change the other four zh-Hans/zh-Hant cluster pages (noindexed, canonical to en). ja/de/es/fr/ko templates untouched.", "src/pages/llms.txt.ts Core Definitions: the `Open business ontology` entry's last sentence (the four boundaries) moved into the new `Executable business ontology` entry rather than being duplicated; still within Core Definitions only.", "src/lib/clusters.ts cannot import positioning.ts (content:lint loads it under plain Node, type-only imports); the cluster states the framing in prose and keeps the query term `AI-native app platform` once in title/description/lead/one FAQ question because the slug and URL are kept for that query — 9 case-insensitive hits remain, listed in the PR.", "OS_VERIFY_LOCK_WAIT lowered to 300s for the one lock call (lowering is the permitted direction); acquired after 15s.", "An `astro preview` I started for the browser check outlived its first call; found by port, killed by its own PID (never by name) before the rerun; nothing left running." ], "files_changed": [ "content/glossary/en/metadata-driven-development.ts", "content/glossary/en/ontology-projection.ts (new)", "content/glossary/en/ontology.ts", "content/glossary/zh-Hans/metadata-driven-development.ts", "content/glossary/zh-Hans/ontology-projection.ts (new)", "content/glossary/zh-Hans/ontology.ts", "content/pages/en/agent-developer.ts", "content/pages/en/app-ui.ts", "content/pages/en/data-modeling.ts", "content/pages/en/mcp.ts", "content/pages/en/permissions.ts", "content/pages/zh-Hans/agent-developer.ts", "content/pages/zh-Hans/app-ui.ts", "content/pages/zh-Hans/data-modeling.ts", "content/pages/zh-Hans/mcp.ts", "content/pages/zh-Hans/permissions.ts", "src/lib/cluster-i18n.ts", "src/lib/clusters.ts", "src/lib/home.ts", "src/lib/terms.ts", "src/pages/llms.txt.ts" ], "open_questions": [], "out_of_scope_findings": [ "class: none (observation) · cluster-i18n.ts ja/de/es/fr/ko templates still frame the cluster as a governed runtime for business objects with a generic low-code FAQ; no `AI-native` string; noindexed fallbacks canonical to en · carrier: none · noted in PR Acceptance notes, not filed", "class: none (observation) · src/pages/llms.txt.ts:95 Articles line still says `AI-native software` — a page entry, the region #235 holds · carrier: #235 · noted, not filed", "class: none (observation) · src/lib/i18n.ts articlesLead ×6 and src/components/ArticleList.astro carry `AI-native` · carrier: PR #255 (seat 1) · noted, not filed", "class: none (observation) · one prose `AI-native` each in content/glossary/{en,zh-Hans}/{permission-model,application-metadata}.ts; content/pages/*/platform.ts section id `ai-native` is an anchor id · outside this card's file surface · carrier: none · noted, not filed", "class: none (observation) · content:lint width warnings on content/blog/what-does-the-ontology-is-the-software-mean/* (title 87 cols, description 206) predate this PR; warning-only · carrier: none · noted, not filed" ] }Generated by Claude Code
content(positioning): glossary ontology links the /ontology/ and /com…
objectstack-fleet commentedon Oct 16, 2026
os-dev-report-addendum
{ "issue": 233, "status": "done", "report_kind": "os-dev-report-addendum", "branch": "claude/sharp-mendel-1087cg-issue-233", "pr": "https://github.com/objectstack-ai/www.objectos.ai/pull/259", "session": "session_017GeNDQH7E5S2rX8ajVAPxv", "head": "9242de3 (was 42648e1 at the first report)", "merge": "47bfaa1 — merge commit of origin/main a69829e (#258, the /ontology/ and /compare/ pages) into the branch; no rebase, no force-push, no conflicts: src/lib/home.ts keeps both sides (t2Lead ×7 from this card, positioningLink ×8 from #258); src/lib/i18n.ts siteNav.ontology came in from main untouched.", "summary": "Patch round, three additions on the same PR: (1) origin/main merged with a merge commit; (2) content/glossary/{en,zh-Hans}/ontology.ts pageSlugs now open with 'ontology', 'compare' ahead of the capability pages, so the term's Product pages block links /{locale}/ontology/ and /{locale}/compare/ — verified in dist for en, zh-Hans and zh-Hant (href counts: /ontology/ 3 per page incl. the new nav entry, /compare/ 1) and in the browser; (3) src/pages/llms.txt.ts Articles line (line 95) reads 'Practical writing on executable business ontologies and AI-written software, enterprise AI agents, integration, modernization, and governance.' instead of 'Practical writing on AI-native software, …'. Commit 9242de3 on top of the merge; pushed; PR body untouched.", "gates": "All on 9242de3, exit codes captured before any pipe: `pnpm content:lint` exit 0 — `✓ content lint passed (347 files, 46 glossary terms checked)`; `pnpm content:lint --published` exit 0 — same verdict; `pnpm check` exit 0 — `Result (160 files): 0 errors, 0 warnings, 0 hints`; `pnpm build` exit 0 — `[build] 912 page(s) built in 71.18s`, `✓ content lint --dist passed (486 built blog pages checked)`, CJK line breaks (912 pages, 0 breaks), quotation marks (12603 marks, 0 wrong) and links (98464 internal links) passed; `pnpm seo:smoke` exit 0 — `SEO smoke test passed (902 HTML pages checked; 586 sitemap URLs against 316 noindexed pages; 5607 canonical/hreflang annotations; 16983 prose blocks language-checked; 98454 internal links redirect-checked)`. check+build under os-verify-lock slot www-233 (held 112s, waited 0s). Tree clean after build. CI check-run on 9242de3: `Build and deploy` (workflow Deploy to Cloudflare Pages: install, check, content:lint --published, build, seo:smoke) status completed, conclusion success — read at report time, not re-run.", "browser": "Chromium /opt/pw-browsers/chromium over `astro preview` of dist/ (server started and stopped by PID): /en/, /en/glossary/ontology/, /zh-Hans/glossary/ontology/ at 1440×750 and 390×844 = 6 page-views, all 200, scrollWidth == clientWidth, marker text present, and both glossary pages carry anchors to /{locale}/ontology/ and /{locale}/compare/ at both widths. VERDICT browser-check-r2: 6 page-views, 0 failing.", "pr_body_additions_for_the_seat": [ "§3 bullet for content/glossary/{en,zh-Hans}/ontology.ts: append — `pageSlugs` now opens with `ontology`, `compare` (the pages #258 added on main), so the term's Product pages block links /{locale}/ontology/ and /{locale}/compare/; verified in dist for en, zh-Hans, zh-Hant and in the browser at both widths.", "§3 new bullet: `src/pages/llms.txt.ts:95` Articles line — before: `Practical writing on AI-native software, enterprise AI agents, integration, modernization, and governance.` → after: `Practical writing on executable business ontologies and AI-written software, enterprise AI agents, integration, modernization, and governance.` This is one line beyond the claimed `Core Definitions only` surface, added on the seat's patch-round instruction (#235 did not touch llms.txt).", "Before → after ledger: add the two `pageSlugs` lines (content/glossary/en/ontology.ts and zh-Hans, `['data-modeling', 'app-ui', …]` → `['ontology', 'compare', 'data-modeling', 'app-ui', …]`) and the llms.txt:95 line above.", "Measurements table: new row — dist/llms.txt `AI-native` outside post and cluster titles: 1 → 0 (the remaining 5 hits are the cluster's title/description line and post titles).", "Gates section: replace the `42648e1` figures with the 9242de3 run (160 files; 912 pages; 902 HTML pages; 98464 / 98454 links) and note the merge commit 47bfaa1 of origin/main a69829e, no conflicts.", "Acceptance notes: remove the item that leaves llms.txt:95 to #235 (done here); add that #258 (www#235) is merged and both pages are now linked from the ontology term." ], "mcp_calls": "0", "api_writes": "3 cumulative — all `POST /repos/objectstack-ai/objectstack/dispatches` (fleet-write relay, objectstack-fleet[bot]): ① pr_create (first report), ② comment os-dev-report (first report), ③ comment os-dev-report-addendum → POST /repos/objectstack-ai/www.objectos.ai/issues/233/comments (this). No PATCH on the PR, no label writes. `git push` ×1 this round (not REST).", "deviations": [ "src/pages/llms.txt.ts surface extended from `Core Definitions only` by the one Articles line (line 95), per the patch-round instruction.", "OS_VERIFY_LOCK_WAIT lowered to 300s again for the one lock call; acquired immediately." ], "files_changed_this_round": [ "content/glossary/en/ontology.ts (pageSlugs)", "content/glossary/zh-Hans/ontology.ts (pageSlugs)", "src/pages/llms.txt.ts (Articles line)", "merge of origin/main a69829e (11 files from #258, none edited here)" ], "open_questions": [], "out_of_scope_findings": [] }Generated by Claude Code
content(positioning): shorten the AI-native cluster H1 to sibling len…
objectstack-fleet commentedon Oct 16, 2026
os-dev-report-addendum
{ "issue": 233, "status": "done", "report_kind": "os-dev-report-addendum", "round": 2, "branch": "claude/sharp-mendel-1087cg-issue-233", "pr": "https://github.com/objectstack-ai/www.objectos.ai/pull/259", "session": "session_017GeNDQH7E5S2rX8ajVAPxv", "head": "bb415e7 (round 1 ended at 9242de3; two commits this round: 39ab729, bb415e7)", "summary": "Patch round 2, two edits in files already held. (1) `src/lib/clusters.ts` cluster title (document title and H1) is now `AI-Native App Platform: An Ontology You Run` — the search term at the head, the executable claim in plain words, 7 words/43 characters; the definition stays in `description` and the lead, untouched. The first attempt (`AI-Native App Platform: One Executable Ontology`, commit 39ab729) was measured on its own build at 344px / 4 lines at 1366×625 because `Executable Ontology` cannot share a line in the hero column; seven candidates were then measured in the live page at 1366, 1440 and 1920 before choosing, and the chosen one is committed as bb415e7. zh-Hans/zh-Hant cluster H1 (`可执行的业务本体`, 86px) left as is. (2) `content/pages/{en,zh-Hans}/agent-developer.ts` heroTitle second sentence: en `Teach your agent the target format.` → `Teach your agent to write the ontology.`; zh-Hans `教你的 Agent 目标格式。` → `教你的 Agent 写本体。` (first sentence kept both times; nothing quoted beyond positioning.ts; zh-Hant derived: `別教每個開發者手寫應用。教你的 Agent 寫本體。`). `target format` / `目标格式` now 0 hits in dist en/zh-Hans/zh-Hant agent-developer pages. Pushed; PR body untouched.", "layout_measurements": "Built page, Chromium /opt/pw-browsers/chromium over astro preview of dist/ at bb415e7 (getBoundingClientRect, line count = height / computed line-height). 1366×625: /en/ai-native-app-platform/ H1 258px, 3 lines, bottom 423px, lead top 443px, lead first line visible (acceptance ≤ 258px met, equal to the sibling control /en/self-hosted-ai/ at 258px / 3 lines / bottom 446px); /zh-Hans/ai-native-app-platform/ H1 86px, 1 line, lead top 397px; /en/agent-developer/ H1 145px, 3 lines, lead top 335px; /zh-Hans/agent-developer/ H1 97px, 2 lines, lead top 287px. 390×844: /en/ai-native-app-platform/ H1 123px, 3 lines, bottom 283px, lead top 303px (sibling control 123px / 3 lines); /zh-Hans/ai-native-app-platform/ 41px, 1 line; /en/agent-developer/ 199px, 5 lines, lead top 355px; /zh-Hans/agent-developer/ 119px, 3 lines, lead top 276px. No horizontal overflow on any of the 10 page-views, all 200, marker text present. VERDICT browser-check-r3: 10 page-views, 0 failing. Candidate sweep (live-page text swap, before committing): `One Executable Ontology` and `Executable Ontology` 344px/4L at 1366, 1440 and 1920; `An Ontology You Run`, `One Ontology to Run`, `Run the Ontology`, `The Ontology`, `Is an Ontology` 258px/3L at all three; all 123px/3L at 390.", "gates": "All on bb415e7, exit codes captured before any pipe: `pnpm content:lint` exit 0 — `✓ content lint passed (347 files, 46 glossary terms checked)`; `pnpm content:lint --published` exit 0 — same verdict; `pnpm check` exit 0 — `Result (160 files): 0 errors, 0 warnings, 0 hints`; `pnpm build` exit 0 — `[build] 912 page(s) built in 69.56s`, `✓ content lint --dist passed (486 built blog pages checked)`, CJK line breaks (912 pages, 0 breaks), quotation marks (12603 marks, 0 wrong), links (98464 internal links) passed; `pnpm seo:smoke` exit 0 — `SEO smoke test passed (902 HTML pages checked; 586 sitemap URLs against 316 noindexed pages; 5607 canonical/hreflang annotations; 16983 prose blocks language-checked; 98454 internal links redirect-checked)`. check+build under os-verify-lock slot www-233 (held 107s, waited 0s). The same five gates were also green on the intermediate 39ab729 (912 pages, 160 files). Tree clean after build. CI check-run on bb415e7: `Build and deploy` (workflow Deploy to Cloudflare Pages: install, check, content:lint --published, build, seo:smoke) status completed, conclusion success — read at report time, not re-run.", "pr_body_additions_for_the_seat": [ "§4 clusters.ts bullet: the title is now `AI-Native App Platform: An Ontology You Run` (was `What Is an AI-Native App Platform? One Executable Business Ontology` on the first head) — H1 258px / 3 lines at 1366×625, 1440×750 and 1920×945, equal to the sibling clusters; the definition stays in `description` and the lead.", "Before → after ledger, src/lib/clusters.ts `title`: − `AI-Native App Platform` (origin/main) → + `AI-Native App Platform: An Ontology You Run` (replacing the ledger's current `+` line).", "§1 agent-developer bullet: append — heroTitle second sentence `Teach your agent the target format.` → `Teach your agent to write the ontology.`; zh-Hans `教你的 Agent 目标格式。` → `教你的 Agent 写本体。`. Ledger: add both lines at content/pages/{en,zh-Hans}/agent-developer.ts:13.", "Browser check section: add the round-2 measurements above (1366×625 and 390×844) and the candidate sweep note.", "Gates section: figures now from bb415e7 (unchanged counts: 160 files, 912 pages, 902 HTML pages, 98464 / 98454 links); head sequence 42648e1 → 47bfaa1 (merge) → 9242de3 → 39ab729 → bb415e7.", "Measurements table, clusters.ts `AI-native` row: the after-count is unchanged at 9 (title still carries the search term once)." ], "mcp_calls": "0", "api_writes": "4 cumulative — all `POST /repos/objectstack-ai/objectstack/dispatches` (fleet-write relay, objectstack-fleet[bot]): ① pr_create, ② comment os-dev-report, ③ comment os-dev-report-addendum (round 1), ④ comment os-dev-report-addendum round 2 → POST /repos/objectstack-ai/www.objectos.ai/issues/233/comments (this). No PATCH on the PR, no label writes. `git push` ×2 this round (39ab729, bb415e7), not REST.", "deviations": [ "The coordinator's example title (`One Executable Ontology`) was tried first and failed the ≤ 258px acceptance on its own build (344px, 4 lines at 1366); the replacement was chosen by measuring seven candidates in the live page, then rebuilt and re-measured on the real build. Two commits instead of one; both pushed.", "OS_VERIFY_LOCK_WAIT lowered to 300s for each of the two lock calls this round; both acquired immediately." ], "files_changed_this_round": [ "src/lib/clusters.ts (title, twice: 39ab729 then bb415e7)", "content/pages/en/agent-developer.ts (heroTitle)", "content/pages/zh-Hans/agent-developer.ts (heroTitle)" ], "open_questions": [], "out_of_scope_findings": [] }Generated by Claude Code
content(positioning): carry "the ontology is the software" below the …
objectstack-fleet commentedon Oct 16, 2026
Landed and live · 2026-10-16T07:49Z
45d5ce9(pinned to headbb415e7), merged by seat 2 after two patch rounds. Seat record: PR comment 6210674816 (ACCEPT → PR #259 comment 6210674816)origin/main45d5ce9content(positioning): carry "the ontology is the software" below the hero … (#259)mainDeploy to Cloudflare Pages:completed/successon45d5ce9www.objectos.aiis refused by this container's egress (CONNECT 403). The deploy run's conclusion is the reading.State: closed
completedbyFixes #233;pm:dispatchedremoved. Since this card's PR merged, the only other www issue closed is #235, closed earlier by its own PR.Generated by Claude Code