Skip to content

blog: expand 'extend existing systems with AI' post (all 7 locales)#12

Merged
os-zhuang merged 1 commit into
mainfrom
blog/expand-extend-existing-systems
May 30, 2026
Merged

blog: expand 'extend existing systems with AI' post (all 7 locales)#12
os-zhuang merged 1 commit into
mainfrom
blog/expand-extend-existing-systems

Conversation

@xuyushun441-sys
Copy link
Copy Markdown
Contributor

Why

The first version of /blog/extend-existing-systems-with-ai read like a feature summary, not a story — no concrete scenario, no real coding-agent prompt, no worked 'ask a question → what happens' example. This expands it into a substantive post and keeps all 7 locales in parity (English is source of truth).

What changed

Rewrote the English source and regenerated all 6 translations (zh-Hans, ja, de, es, fr, ko):

  • Concrete scenario — a 40-table Postgres CRM and the leadership ask, framed as rebuild (6 months) vs. connect (an afternoon).
  • Real Claude Code prompt for generating objects from the connected schema, plus a sample ObjectSchema.create output in the hotcrm shape.
  • Worked query example — a natural-language question compiled to ObjectQL → SELECT … WHERE … on Postgres, run as the signed-in user, illustrating capability-aware pushdown.
  • Rebuild vs. connect comparison table + a day-one benefits section.
  • FAQ — model every table?, production writes, data egress, schema changes.

Accuracy held

  • Credentials from env vars only; read-only path emphasized.
  • In-product federation kept as roadmap (ADR-0015, Proposed) — the shipped path (connect → model with a coding agent → bind → query) is what's documented as working today.

Verification

pnpm --filter docs build → green. 509 static pages; blog routes generate for every locale (/en/blog/…, /zh-Hans/blog/…, /ja/blog/…, etc.).

Note on Fumadocs blog i18n

Confirmed the blog i18n wiring already follows the official Fumadocs pattern — i18n passed to the loader(), getPages(lang) / getPage(slug, lang) / generateParams(), and per-locale *.<locale>.mdx files. No code changes needed there.

…l 7 locales)

The first cut read like a feature summary. Expand the English source (source
of truth) and regenerate all 6 translations to match:

- Add a concrete scenario (40-table Postgres CRM, leadership ask)
- Show a real Claude Code prompt for object generation + a sample
  ObjectSchema.create output
- Add a worked 'ask a question -> ObjectQL -> SELECT, as the signed-in user'
  example covering capability-aware pushdown
- Add a rebuild-vs-connect comparison table and a day-one benefits section
- Add an FAQ (model every table?, prod writes, data egress, schema changes)
- Keep accuracy: env-based creds, read-only path, federation = ADR-0015 roadmap

en, zh-Hans, ja, de, es, fr, ko all updated in parity. Docs build green
(509 static pages, all blog locale routes generate).
@os-zhuang os-zhuang merged commit 5a90708 into main May 30, 2026
1 check passed
xuyushun441-sys added a commit that referenced this pull request May 30, 2026
…cale homepage caching (#13)

Three fixes prompted by live-site issues:

1. deploy-docs.yml only triggered on content/docs/** — blog-only changes
   (like the expanded 'extend existing systems' post in #12) never deployed.
   Add content/blog/** to the path filter.

2. gitConfig.repo was 'spec' → the navbar GitHub link and the docs
   'edit this page' link pointed at objectstack-ai/spec. Correct to
   objectstack-ai/objectos (where this content actually lives).

3. The prefix-less homepage ('/') is statically cached with
   s-maxage=31536000 and no Vary on Accept-Language. Its body, however,
   is language-negotiated by middleware — so a shared cache stored the
   English homepage at '/' and served it to every visitor, and non-English
   browsers stopped being redirected to their localized path. Mark the
   default-locale rewrite response 'private, no-cache' so the edge never
   shares it and middleware re-runs language detection per request.
   (Verified the redirect logic itself is correct: a cache-miss request
   with Accept-Language: zh-CN already 307s to /zh-Hans.)

Co-authored-by: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants