Skip to content

Edition layer: a top-level Editions group (feature matrix by Community / Free / Team / Enterprise), a three-path Start, editions: badges on every page, and the five framework-reference pages collapsed to summaries #343

Closed

Description

@os-zhuang

Filing gate: ③ a task the maintainer directed — Sam, project thread "Decide docs.objectos.ai content scope", 2026-10-27, verbatim: 「比如版本,有社区免费版,云端的各种版本,企业版」 · 「同意,立卡」. The decision record is the thread's decision document (private to the maintainer); every reading below was re-measured on this repository at c622daa.

维护者速读

站上只有品牌和价格,没有按版本逐项的真实差异:存储 Free 1 GB / Team 20 GB、Free 没有开发环境、MCP Free 限 20/min 与 1,000/天、自有域名 Team 起、RLS/FLS Free 没有——这些代码里都在执行,英文页里一条都没写("custom domain""credit" 出现 0 次)。本卡补版本层:顶层 Editions 组、Start 三条路径并列、每页 editions: 徽章、Reference 五页框架语法页缩为摘要。它同时承接 #300 的信息架构部分。

Governing text

Done looks like

  1. Editions group at the top level of content/docs/meta.json, after architecture:
    • editions/compare.mdx — one matrix, rows = capabilities, columns = Community / Cloud Free / Cloud Team / Enterprise, each cell a fact the runtime enforces (storage cap, dev environments, MCP limits, custom domain, RLS/FLS, in-UI AI, external IdP SSO, SCIM, clustering, multi-org, air-gap). Each row names where the limit is enforced in product terms (e.g. "upload refused at 100%, warning at 80%").
    • resources/license.mdx moves to editions/license.mdx with a redirect in apps/docs/redirects.mjs.
    • editions/public-preview.mdx — what Public Preview means for ObjectOS Cloud (durable data, APIs may change, no SLA yet); the cloud repository's content/docs/concepts/preview.mdx is reference material only, rewritten in product voice.
  2. Start group replaces the single Quickstart entry: start/cloud.mdx (Start on ObjectOS Cloud: sign up, organization and slug, create the production environment, first app via AI Builder or a template, invite members — the welcome-page flow of the cloud control plane), start/community.mdx (today's quickstart.mdx, retitled "Run ObjectOS Community locally", intro rewritten), start/enterprise.mdx (one page pointing into Deploy). Redirect /docs/quickstart.
  3. editions: frontmatter on every English page ([community, cloud, enterprise] subsets), rendered as a page-head badge row and a sidebar mark in apps/docs; type-check fails on a page without the key. Configure pages are labelled per page (runtime, data-sources, storage = community + enterprise; the rest all three); Deploy/Operate = community + enterprise.
  4. Reference: rest-api, objectql, cel, field-types, skills-cli each shrink to "where the product uses it + three to five examples" with a fixed first line linking the full specification on objectstack.ai/docs; environment-variables, cli, security, runtime-capabilities stay. One rule line in AGENTS.md: this site documents product behaviour, never syntax tables; syntax links to objectstack.ai.
  5. extend-existing-systems.mdx moves under Build; every docs.objectstack.ai link becomes objectstack.ai/docs/....
  6. Screenshots of the new sidebar at 1440 and 390; locale siblings per the translation workflow.

Out of scope

The Cloud organization pages (separate card), the Deploy/Operate merge (separate card), the Use/Build gap pages (separate card). The Cloud sign-up URL that #300 waits on (objectstack-ai/www.objectos.ai#215) — start/cloud.mdx links https://www.objectos.ai until it is answered.

Related-to: #300 (this card carries its IA items; its edition-vocabulary blocker #295 is already answered by #339/#342), #341, #141.

Activity

  1. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    Contributor

    Claim: PM loop round 1 · 2026-10-27T13:07Z
    Session: session_01QsR2jTaZ2GeyfjANMwstiw (seat thread; the dev is card thread session_01QsR2jU9jZVmgYGkkQEtDwx, identity by branch)
    Account: zhuangjianguo
    Branch: claude/project-thread-ri8ilt (platform-assigned; a card thread can push only this branch, a measured platform exception to claude/issue-<n>-<slug>)
    Worktree: the card thread's own docs.objectos.ai checkout
    Domain: domain:docs (single-lane repository)
    Seat: repo:docs.objectos.ai#1
    File surface: content/docs/** English sources (root meta.json, new editions/ and start/ groups, the editions: key on every English page, the five Reference pages, the extend-existing-systems.mdx and resources/license.mdx moves) plus locale-sibling deletions for moved or retired pages; apps/docs/** (frontmatter schema, page-head badges, sidebar mark, redirects.mjs); AGENTS.md (one rule line, governed) — stop on breach; explain in the report
    Container & model: L, mode:thread, model: default tier (TIER_DEFAULT — sister repository, hand-derived: no packages/spec and no protocol-semantic surface; dispatch-gates --tier refuses a non-objectstack checkout), effort: project default (order asks for xhigh care)
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card
    Thread-read: none
    Premise: holds (the card was measured at c622daa; origin/main is still c622daa). The cloud repository the matrix facts cite is not reachable from this project: the dev states only facts the card states, and every other cell goes to open_questions.
    Serial constraints cleared: #337 (round 1, claude/project-thread-4eqcxt) adds one AGENTS.md paragraph in another section, so the later PR merges main. #344, #345 and #346 queue behind this card (root meta.json, page frontmatter). #340's link sweep waits for this card's license.mdx move. Open PRs: Dependabot only.

  2. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    Contributor

    os-dev-report

    {
      "issue": "objectstack-ai/docs.objectos.ai#343",
      "status": "pr_open",
      "branch": "claude/project-thread-ri8ilt",
      "pr": "https://github.com/objectstack-ai/docs.objectos.ai/pull/349",
      "head": "7c399fbfcf372f9e373a77d19d6243aea81b0d33",
      "session": "session_01QsR2jU9jZVmgYGkkQEtDwx",
      "premise_still_valid": true,
      "summary": "Edition layer: Editions group (compare matrix, license moved in, public-preview), Start replaces Quickstart (cloud, community, enterprise), editions: frontmatter on all 84 English pages rendered as a page-head badge row and an aria-hidden sidebar mark, type-check fails an English page without it, five Reference pages shrunk to usage + examples with a fixed first line linking objectstack.ai, extend-existing-systems moved under Build, docs.objectstack.ai links moved to objectstack.ai/docs, one AGENTS.md rule line. Three permanent redirects. Draft PR, CI green on the head.",
      "tests": {
        "added": "apps/docs/scripts/check-frontmatter.mjs, a loader-backed frontmatter check appended to type-check, with a live negative control (a temp English page without editions: must be refused or the script exits 1 NOT MEASURED)",
        "pm_hypothesis_editions_fails_in_type_check": "disproved as stated: the fumadocs-mdx CLI and tsc never run the frontmatter loader (EXIT=0 with no editions anywhere); the new step makes it true, measured 80/214 pages failing before the keys were added",
        "probes": "unknown value, duplicate and empty list refused; a locale file without the key passes",
        "smoke": "smoke-docs /docs/quickstart target is now a redirect assertion to /docs/start/community"
      },
      "gates": {
        "local_at_head": {
          "gen-zh-hant --check": 0,
          "check-doc-samples": 0,
          "type-check": 0,
          "build": 0,
          "check-locale-surface": 0,
          "check-positioning": 0,
          "check-search-locales": 0,
          "turbo test": 0,
          "check-translations": 0,
          "check-translation-ownership": 0,
          "opennext packaging": 0,
          "smoke-docs on workerd preview": 0
        },
        "ci_at_head": {"build": "success", "Ownership & freshness": "success", "Node floor": "success", "Deploy docs": "skipped (PR)"},
        "browser": "Playwright at 1440 and 390: every page 200, no console errors, no horizontal scroll at 390; mark only in sidebar and drawer; badge links locale-aware; four redirects land with 200. Screenshots in /mnt/project-files/docs-343/"
      },
      "line_budget": {"files_changed": 130, "insertions": 1051, "deletions": 4536, "reference_share": "-4443 in content/docs/reference/** (30 files incl. deleted locale siblings)", "over_3000": true, "maintainer_brief": "six-line 维护者速读 in the PR body"},
      "dogfood_battery": "n/a",
      "files_changed": {
        "app": ["apps/docs/lib/editions.ts (new)", "apps/docs/components/editions.tsx (new)", "apps/docs/scripts/check-frontmatter.mjs (new)", "apps/docs/source.config.ts", "apps/docs/package.json", "apps/docs/app/[lang]/docs/layout.tsx", "apps/docs/app/[lang]/docs/[[...slug]]/page.tsx", "apps/docs/app/global.css", "apps/docs/lib/ui-text.ts + 7 locale JSONs (zh-Hant regenerated)", "apps/docs/next.config.mjs"],
        "content": "9 added, 3 renamed (quickstart, license, extend-existing-systems), 21 locale siblings deleted, 84 English pages carry editions:, 5 Reference pages rewritten, meta.json files for root, start, editions, resources, build",
        "governed": ["AGENTS.md (one Don't line)"],
        "outside_claimed_surface": [".github/scripts/smoke-docs.mjs", "README.md"]
      },
      "deviations": [
        "Redirects live in apps/docs/next.config.mjs; the card's apps/docs/redirects.mjs is an objectstack-repo file and does not exist here",
        ".github/scripts/smoke-docs.mjs changed (outside the claimed surface): its /docs/quickstart target would fail post-deploy otherwise",
        "README.md: two License links moved to the new URL (outside the claimed surface; the old URL would redirect anyway)",
        "type-check gained a fourth step; AGENTS.md's Commands line still spells three steps, left so the governed diff is one line",
        "ui-text key editionsLabel translated into six locale JSONs, following the app-chrome precedent",
        "Edition labels beyond the card: reference/environment-variables [community, enterprise], build/ai-builder [cloud, enterprise]",
        "Sidebar mark is aria-hidden (check-locale-surface refused an sr-only label: 7182 findings); the badge row is the accessible statement",
        "Locale meta.<l>.json files untouched (English only): locale sidebars still list license under Resources and lack extend-existing-systems under Build until the translation pass"
      ],
      "mcp_calls": 1,
      "mcp_calls_detail": "subscribe_pr_activity on #349 (harness PR watch, not a GitHub write); zero GitHub MCP calls",
      "api_writes": {
        "count": 3,
        "endpoints": ["git push x2 to claude/project-thread-ri8ilt", "relay pr_create stroke (POST /repos/objectstack-ai/docs.objectos.ai/pulls draft + POST /issues/349/assignees), run 40513707864, body read back byte-identical", "this os-dev-report comment via post-stamped"]
      },
      "open_questions": [
        "Compare matrix n/d cells: Enterprise storage limit; development environment on Community, Team, Enterprise; MCP limits on Team; RLS/FLS on Team",
        "Where the storage quota is enforced (the card's 80% warning / 100% refusal example is not a stated fact, so not written)",
        "Exact Cloud sign-up URL for start/cloud.mdx (www.objectos.ai#215)",
        "Exact button names in the Cloud welcome flow",
        "Business SSO details",
        "Should AGENTS.md's Commands line spell the fourth type-check step (a second governed line)"
      ],
      "out_of_scope_findings": [
        "Historical comments in middleware, root-provider, open-next.config, llms routes and lib/source.ts still mention /docs/quickstart and resources/license (comments only, URLs redirect); none filed",
        "The privacy page names docs.objectstack.ai as a property, not a link; left as is"
      ]
    }
  3. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    Contributor

    Landing · 2026-10-27T14:30Z · session_01QsR2jTaZ2GeyfjANMwstiw · seat repo:docs.objectos.ai#1

    Reading Value
    PR #349 MERGED by os-zhuang (a GOVERNED_APPROVERS account, APPROVED on head 19b4ea4, the ACCEPTed head of seat record 6443535445) as merge commit d1d6a3e
    main CI run 40519093450 on d1d6a3e build success (local workerd render smoke success) · Deploy docs / Publish the tested Worker success, "Assert a new version is serving" success · Deploy docs / Smoke-check the live site success · rollback and failure-card jobs skipped

    State change: this card closed itself through Fixes #343. pm:dispatched comes off here, and needs-user-decision comes off PR #349, in one stroke. The hot-file queue moves on: #345 and #346 dispatch from d1d6a3e. The n/d cells of editions/compare.mdx are routed to the cloud lane on #344.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions