Skip to content

docs: align product docs with framework 15.x→16.0 changes#52

Merged
os-zhuang merged 4 commits into
mainfrom
claude/third-party-skills-review-2r4sj1
Jul 21, 2026
Merged

docs: align product docs with framework 15.x→16.0 changes#52
os-zhuang merged 4 commits into
mainfrom
claude/third-party-skills-review-2r4sj1

Conversation

@os-zhuang

Copy link
Copy Markdown
Contributor

概述

依据 framework 15.x→16.0 的权威变更清单(release notes v16 + spec/CLI 源码逐条核实)复核全部 ObjectOS 文档,修复 16.0 下已失效/会报错的内容,并补充文档缺失的 16.0 新能力。方法与 framework#3374/#3375 相同:每个断言核实到 packages/spec/src/**/*.zod.ts 或运行时源码的具体行。

修复的 16.0 失效内容(按区域)

reference/(field-types、environment-variables,全部 7 个语言版本)

  • referenceFilters → 结构化 lookupFiltersfileAttachmentConfig → 扁平 multiple/accept/maxSizevectorConfig → 仅扁平 dimensions(三者均已在 16.0 移除,#2377/ADR-0049)
  • 删除 columnName 与字段级 index 表行(附迁移说明)
  • OS_MCP_SERVER_ENABLED 行原断言“默认关闭”——16.0 实际默认开启且仅管 HTTP 面;新增 OS_MCP_STDIO_ENABLED / OS_MCP_STDIO_API_KEY(ADR-0101,fail-closed)

build/data/

  • 对象示例 enable.softDeleteenable.trashsoftDelete 是 16.0 tombstone,会抛错);补“Changed in 16.0”移除清单
  • 验证规则 'delete' 事件移除 → beforeDelete 钩子;state_machine 新增 initialStates(并指出 events 必须含 insert 否则该能力失效);标注 16.0 起批量更新也执行验证规则(#3106)
  • 公式页新增 16.0 说明:日期算术构建期报错(指向 daysBetween/addDays 等,#3306)、null-guard 三元、floor/ceil、日期等值比较修复(#3183)
  • summaryOperations 补 16.0 filter(过滤汇总,#1868)

build/interface/ + build/automation/

  • widget 示例从 inline-analytics 键(object/categoryField/valueField)改写为 dataset 形态——16.0 起 DashboardWidgetSchema.strict(),旧键是命名报错而非静默剥离(#3251)
  • 审批:审批人类型 roleorg_membership_level(#3133,附真实 lint 规则名);新增 16.0 quorum / per_group(会签)/ minApprovals / 决策附件 / 服务端进度 / 声明式收件箱动作章节
  • flows 新增时间相对触发器(config.timeRelative,#1874)完整章节;workflows 迁移表区分“日期前 N 天”(时间相对)与固定时刻(scheduled)

configure/ + resources/

  • mcp:stdio 拆分 + 强制 API-key principal;工具表补 validate_expression;dev banner claude mcp add
  • api-access:MCP 默认开启措辞;/api/v1/batch 原子化与逐操作前置门控(#1604)、capabilities.transactionalBatch(#3298)
  • users/authentication:import-users 默认 passwordPolicy: 'auto'(#3236)
  • changelog:新增 16.0 条目(沿用页面既有风格);14.x 不再自称当前版本线

语言版本策略(遵循 AGENTS.md)

英文源优先;代码块/表格类修正机械传播到全部语言版本(确保任何语言都不再教已移除表面);散文改动英文 + zh-Hans 忠实翻译;de/es/fr/ja/ko 的新增章节按“翻译滞后”策略暂缺(其 changelog 本就落后数个大版本,需单独翻译轮)。

验证

  • pnpm --filter docs build 通过
  • 逐 agent grep 证明:所有语言版本中已移除的键仅存在于明确的“removed in 16.0”迁移说明中,零处作为可用配置教学

🤖 Generated with Claude Code

https://claude.ai/code/session_012Kj2MJEPXoUXC4LiC3XYJc


Generated by Claude Code

claude added 4 commits July 21, 2026 02:23
- enable.softDelete → enable.trash in the capability example (softDelete
  is a 16.0 tombstone; object.zod.ts throws with guidance); added a
  'Changed in 16.0' callout covering the removed object props
  (versioning, search→searchableFields, recordName→autonumber
  nameField, keyPrefix, tags, active, abstract).
- referenceFilters warning upgraded from 'accepted but unread' to
  removed-in-16.0 (stripped at parse; lookupFilters + dependsOn is the
  only form).
- summaryOperations example gains the new 16.0 filter (filtered
  roll-ups, #1868) with re-aggregation semantics.
- Validation rules: 'delete' event removed (guard deletions with
  beforeDelete — the evaluator never ran on delete); state_machine
  gains initialStates (#3165) with the events:['insert','update']
  requirement called out (events gates dispatch, so insert must be
  listed or initialStates is dead); noted 16.0 evaluates rules on
  multi-row updates (#3106).
- Formulas: 'New in 16.0' — date-vs-number arithmetic is a build-time
  error pointing at daysBetween/daysFromNow/addDays/addMonths (#3306);
  null-guard ternary compiles; floor/ceil registered; date equality
  now matches via temporal coercion (#3183).
- zh-Hans twins updated faithfully; other locale twins' code blocks
  fixed mechanically.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Kj2MJEPXoUXC4LiC3XYJc
field-types (all 7 locales):
- referenceFilters example → structured lookupFilters
  [{ field, operator, value }] with the operator enum noted
  (removed #2377/ADR-0049);
- fileAttachmentConfig block → flat multiple/accept/maxSize
  (nested config removed);
- vector row → flat dimensions only (distanceMetric/indexed/indexType
  removed);
- summary row gains the 16.0 summaryOperations.filter (#1868);
- removed the columnName and field-level index rows (column always
  equals field name / indexes live on object indexes[]), with one
  migration note.

environment-variables (all 7 locales):
- OS_MCP_SERVER_ENABLED row rewritten: ON by default since 16.0,
  governs only the HTTP /api/v1/mcp surface, explicit false/0/off/no
  disables (types/src/env.ts); notes the one-release deprecated
  =true stdio auto-start;
- added OS_MCP_STDIO_ENABLED (own switch, default off) and
  OS_MCP_STDIO_API_KEY (osk_... principal, same verify+authz chain as
  HTTP, fail-closed boot refusal — ADR-0101).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Kj2MJEPXoUXC4LiC3XYJc
… approvals, time-relative triggers

pages + dashboards (en + zh-Hans):
- widget examples rewritten from the pre-ADR-0021 inline-analytics
  shape (object/categoryField/valueField/aggregate) onto the dataset
  shape (dataset + dimensions + values) — DashboardWidgetSchema is
  .strict() since 16.0 and the legacy keys are parse errors naming the
  key (#3251); the dashboards note now states that instead of
  'silently stripped'.

approvals (en + zh-Hans):
- approver-type warning aligned with #3133: canonical
  org_membership_level, role = one-release deprecated alias, position
  names → type:'position'; real lint ids;
- new 16.0 section: behavior first_response|unanimous|quorum|per_group
  with minApprovals (runtime-clamped, never deadlocks), approver group
  labels (会签), open-time snapshot + OOO substitution, decision file
  attachments, server-computed decision_progress, and the
  declared-actions inbox model (approve/reject/reassign/send-back/
  request-info/remind/recall/resubmit as type:'api' actions on
  sys_approval_request).

flows + workflows (en + zh-Hans):
- new time-relative trigger section: start-node config.timeRelative
  (object, dateField, offsetDays xor withinDays, optional filter,
  maxRecords 1000, default daily 08:00 UTC schedule) with a defineFlow
  example and os validate readiness notes (#1874);
- workflows migration table splits 'N days before a date' (time-
  relative) from fixed-clock scheduled flows and warns off the
  date-equality-on-record-change pattern; notes date equality now
  matches for same-day checks (#3183).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Kj2MJEPXoUXC4LiC3XYJc
…h 16.0; add 16.0 changelog entry

mcp (en + zh-Hans):
- new 'The stdio transport (16.0)' section: OS_MCP_STDIO_ENABLED own
  switch (default off; legacy OS_MCP_SERVER_ENABLED=true trigger for
  one release with a deprecation warning) and the mandatory
  OS_MCP_STDIO_API_KEY principal — same verify+authz chain as HTTP,
  RLS/FLS/tenant apply, revocation live, fail-closed boot, no system
  bypass (ADR-0101);
- tool table gains validate_expression (read-only, data:read-scoped,
  fail-closed on sys_*); dev-banner claude mcp add note; new
  troubleshooting row.

api-access (all 7 locales):
- MCP row reflects default-on (disable with =false);
- /api/v1/batch documented as atomic-only with per-op gating before
  the transaction, ids required, {$ref} resolution enforced,
  atomic:false → 400 BATCH_NOT_ATOMIC (#1604); discovery advertises
  capabilities.transactionalBatch (#3298).

users + authentication (en + zh-Hans):
- import-users default passwordPolicy is 'auto' since 16.0 (invite
  deliverable rows; temp password only for unreachable; pass 'none'
  for the old identity-only behavior; rows[].delivery outcomes).

changelog (en + zh-Hans):
- new 16.0 entry in the page's own style (organizationId rename,
  approvals quorum/会签 + metadata-driven inbox, time-relative
  automations, filtered roll-ups, strict widgets, MCP stdio principal,
  enforce-or-remove sweep, engine-owned read-only rows, date-equality
  fix + date-arithmetic build errors, bulk-import auto policy);
  14.x entry no longer claims to be the current train.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012Kj2MJEPXoUXC4LiC3XYJc
@os-zhuang
os-zhuang marked this pull request as ready for review July 21, 2026 07:25
@os-zhuang
os-zhuang merged commit 75b47a8 into main Jul 21, 2026
1 check passed
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