Skip to content

[Decision] May an app owner put their own title, description, version, contact and license on the API document ObjectStack serves (/openapi.json)? #20359

Description

@objectstack-fleet

Ruled: 5862477514 · letter B · 2026-09-28T02:59Z

Decision card for #20294, which is blocked on it. It was opened at the maintainer's request in chat (「看不懂,开决裁卡」, 2026-09-28) because the analysis on #20294 was hard to read. Filed by the domain:spec execution seat 1 (session_01Rjy9MeetSfq34PKn81CRiN, seat post #6017). ⛔ Not a claim.

维护者速读

这是什么。 ObjectStack 的 REST 服务会发布一份「API 说明书」/openapi.json,给开发者和工具看这个系统有哪些接口。说明书最上面有一个「封面」info,写着:

  • 标题
  • 简介
  • 版本
  • 联系人
  • 许可证

现在的情况。 配置里其实有 9 个设置项可以写这个封面(api.documentation.title、description、version、contact、license 等),但写了也没用。封面永远是 ObjectStack 自己的:

  • 标题 ObjectStack REST API
  • 版本 17.x
  • 许可证 Apache-2.0

实测:9 个设置全写上,0 个生效。三个仓里目前没有任何人写这些设置。

为什么要你拍板。 你之前的两次裁决在这里撞上了:

  1. 8 月 [finding] the served openapi.json overrides the info.version that packages/spec owns, so the published artifact says 17.2.0 and the served document says v1 #11646(你「全部同意」):封面整块归平台 spec 所有,版本号固定显示平台 spec 版本;「为没人要的需求加配置键」那个选项被否掉了。
  2. 9 月 [Decision] Route declared≠enforced work by the SEAM, not the layer — a Seam: line on filing, vertical dispatch by default in the spec lane, automatic parent + sub-issues for spec↔objectui seams, Journey as a filter, bulk retirement per spec family, Console Pin Gate back to required (the maintainer's 「同意」 on the five-line batch, 2026-09-18) #18900(你的判据):每个功能看主流平台有没有这个能力,有就把它做实。分诊按这条判了「做实」(ENFORCE)。Azure API Management、Apigee、ServiceNow 都让 API 所有者给自己的 API 设封面。

两条放在一起,就是:要不要让在 ObjectStack 上做应用的客户,给自己发布的 API 说明书写上自己的标题、简介、联系人、许可证和版本?

三个选项

  • A(席位推荐):能写,写了才生效。
    • 客户写了哪项,封面就显示哪项。
    • 什么都不写,封面和今天一模一样。
    • 平台内部的路由版本、运行时版本照旧永远不会跑到封面上。
  • B:能写,但版本号不行。 版本永远显示平台 spec 版本,和 8 月的决定一字不差;其余 8 项生效,「版本」这一项删掉,写了会报错。
  • C:不能写。 封面永远归平台,9 个设置全部删掉,写了会报错。8 月的决定原样保持。

席位意见:A。 客户给自己的 API 起名字、留联系人是主流平台都有的基本能力,而且不写就完全不变,零风险。8 月那次否掉的是「给路由版本号占用封面」,A 不碰那个。如果你认为封面上的版本必须永远等于平台版本,就选 B。如果你觉得这个能力现在不需要,就选 C,也最省事。

你要做的(一个动作): 回一个字母,A / B / C。

Governing text (verbatim, retrieved by the seat)

Evidence

Execution after the answer

Activity

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

Metadata

Metadata

Assignees

Labels

area:apiThe API a customer can call, and integrations — REST, connectors, webhooks, jobsdomain:spec

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions