Repository navigation
feat(enterprise-ai-adoption): executive page on how AI lands in a company, fifth Why ObjectOS item - #386
Merged
objectstack-fleet[bot] merged 1 commit intoNov 5, 2026
Conversation
…pany, fifth item under Why ObjectOS A new marketing page, /enterprise-ai-adoption/, written for the chairman, GM or CIO who is forwarded a link: the answer first (unwritten rules, unreachable systems, no trail), the concept "the more clearly the rules are written, the further AI can be trusted to act", one generic travel-expense rule in three states (policy text, ontology, runtime with an audit row and a read-only identity refused), where AI connects (federation read-only by default, and early), a three-step pilot measured on hours saved, cycle time and error rate, and what the approach does not solve. en and zh-Hans sources; zh-Hant derived; ja, de, es, fr and ko fall back to en (noindex, canonical to en). The page is the fifth item in the Why ObjectOS header panel and drawer and has a footer entry in the same column, with labels in all eight locales. The panel is an absolute dropdown: the header bar width is unchanged at 1100, 1200 and 1366 in all eight locales. No rollback claim and no auto-close metric (no shipped mechanism). What ObjectStack is (t2) and the export clause (e1) are quoted from positioning. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FeA1nwBz1ohH65dvffUGKr
Contributor
Author
席位核对ACCEPT。
Generated by Claude Code |
Contributor
Author
|
Landed by the seat after ACCEPT, per pm-dispatch. Maintainer, 2026-11-05: 「你应该使用pm-dispatch技能审核和落地pr」.
#369 is closed by this PR, and Generated by Claude Code |
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.
Closes #369
Clause-②: no
Metadata-protocol: none
What
A new marketing page,
/enterprise-ai-adoption/, for the chairman, GM or CIO who has been forwarded a link and asks "how would AI land in my company?". Placement follows the 2026-11-05 ruling (c): the fifth item under Why ObjectOS in the header panel and the drawer, plus a footer entry in the same column, as/use-cases/did in #368.content/pages/en/enterprise-ai-adoption.tsandcontent/pages/zh-Hans/enterprise-ai-adoption.ts(new). zh-Hant is derived. ja, de, es, fr and ko fall back to en (noindex, canonical to en, no self-hreflang), the same as/use-cases/.src/content-pages/registry.ts: slug added toPAGE_ORDERafteruse-cases.src/components/Header.astro: fifthwhyItemsentry. The drawer reusesgroups, so it gets the entry too.src/layouts/Base.astro: footer entry in the Why ObjectOS column, after Use cases.src/components/MarketingEvidencePage.astro: one line inlocalizeHref, so cluster links render in the reader's locale (see Acceptance notes).src/lib/i18n.ts:siteNav.aiAdoptionin all 8 locales. enAI adoption, zh-Hans企业 AI 落地, jaAI の導入, deAI-Einführung, esAdopción de AI, frAdoption de l’AI, koAI 도입. zh-Hant is s2t.The page follows the card's outline, within the existing
MarketingPageslots.artifact.codeplus a four-card section#three-states). A generic travel-expense rule:ObjectSchemawith typed fields, ascriptvalidation, an approval step and an auditor's read-only permission set;#systems). Links the legacy-modernization cluster. States that federation is read-only by default, and early. Links/trust-center/for what every AI action passes rather than restating the gates.#pilot). Pick a process with written rules, write it into the ontology, and measure hours saved, cycle time and error rate. Links/customer-stories/#evidence.#limits): unwritten policy, judgement nobody can state, and integrations that do not exist yet.Then a "before a pilot starts" checklist and three FAQs. Two FAQ answers are quotes: what ObjectStack is (
t2) and the export clause (e1).Ruling conditions:
/approvals/uses its 15% discount..btn/.card/.chipclasses. No inline script changed, sopublic/_headersis untouched (seo:smoke: "4 inline script digests CSP-checked").Claims and where they ship
Each product sentence on the page restates a shipped page. File:line refers to origin/main a239294.
content/pages/en/data-modeling.ts:70: "enforced on every write path: UI, API, imports, and AI tools."content/pages/en/approvals.ts:16: "Route to a user, role, team, or manager hierarchy";:49lockRecord: true;:17"Records hold still while a decision is pending"content/pages/en/approvals.ts:18: "Every request, decision, and escalation is audited"content/pages/en/permissions.ts:111: "every agent action runs as the signed-in user who asked for it, inside the same fence as that user";:17content/pages/en/permissions.ts:30:crm_account: { allowRead: true, allowCreate: false, allowEdit: false, allowDelete: false };:12"enforced on every query, API call, and AI tool call"content/pages/en/permissions.ts:102: "AI tool calls appear in the same log as human activity";:123content/pages/en/permissions.ts:12: "whether the agent is your own over MCP or ObjectOS’s in-app AI";content/pages/en/trust-center.ts:60: "AI acts through governed tools, not raw database access"content/pages/en/data-modeling.ts:103: "introspect an existing ERP or CRM database and mount its tables as governed objects";:154"without moving the data"content/pages/en/data-modeling.ts:103: "read-only by default; writes are enabled deliberately, per object";:154"read-only by default, and early: expect the read path to be the mature one";src/lib/clusters.ts:92src/lib/positioning.ts:85(t2), read aspositioning[locale].t2, not re-authoredsrc/lib/positioning.ts:88(e1), read aspositioning[locale].e1Field.file,validations,type: 'script',condition,messagepackages/spec/src/data/field.zod.ts:3159,object.zod.ts:2825,validation.zod.ts:179. The shapes are the same as the/data-modeling/,/approvals/and/permissions/artifacts.Header fit (ruling condition 1)
Both columns come from the same build. The second is measured with the fifth Why item removed from the DOM. The nav width, the gap between the last nav item and
.bar-right, and the bar width are identical in all 24 rows. The bar height is 64 andscrollWidthequals the viewport everywhere. The Why panel isposition: absolute, and the fifth item only adds panel height (213 px).Verification (at the final commit, b061cb1)
pnpm content:lint: passed (414 files).pnpm check: 0 errors, 0 warnings, 0 hints (171 files).pnpm build: exit 0. check-positioning PASS, content-lint--distlinks, CJK breaks and quotation marks all pass.pnpm seo:smoke: passed. en, zh-Hans and zh-Hant are self-canonical with hreflang en/zh-Hans/zh-Hant/x-default and are in the sitemap. ja, de, es, fr and ko arenoindex, nofollow, canonical to/en/enterprise-ai-adoption/, and not in the sitemap./permissions/and/approvals/, the code block scrolls inside its ownpreon phones.#three-statesand/customer-stories/#evidenceanchors.aria-current="page"on arrival), the drawer at 390 and the footer./use-cases/(same template), is also clean, so there is nothing new.Acceptance notes
localizeHrefinsrc/components/MarketingEvidencePage.astrogains one branch:if (clusterBySlug(slug)) return `${clusterPath(locale, slug)}${hash}`;. Both functions were already imported. The seat amended the claim's file surface for this one line. Both sources now write the legacy-modernization link as/en/legacy-system-modernization/, and each locale renders its own guide./zh-Hans/legacy-system-modernization/→/zh-Hant/legacy-system-modernization/; ja/en/…→/ja/legacy-system-modernization/; de/en/…→/de/legacy-system-modernization/. No other marketing page changed./trust-center/is linked, not restated. Once feat(trust-center): four gates every AI action passes #380 lands, that page carries the "Four gates" section.🤖 Generated with Claude Code
https://claude.ai/code/session_01FeA1nwBz1ohH65dvffUGKr