Skip to content

[Decision] Official connector-app listing identity before the first publish: app.objectstack.connector-<vendor> as the package id, <vendor> as the namespace, @objectstack/connector-app-<vendor> as the private npm name #28313

Open

Description

@objectstack-fleet

epic:#27293#1 · sunhaolin · session_017xRBcVBKAFk1ntXSjvPt7U

Filing gate: ② a decision only the maintainer takes — a public identifier that can never change once published. Raised by the #28276 dev (open_questions[1], PR #28306). Child of #27293 (E4). ⛔ Not a claim. Nothing is published until the cloud pipeline (#28278) runs, so this card blocks no merge; it must be ruled before the first os package publish.

维护者速读

Options

Package id Namespace npm name (private) Basis
A app.objectstack.connector-<vendor> (e.g. app.objectstack.connector-github) <vendor> (github) @objectstack/connector-app-<vendor> follows the one official listing (app.objectstack.hotcrm); @objectstack/connector-* already names the executor packages (connector-mcp, connector-openapi), so the app takes connector-app-
B another rule you name

四维分析

os-decision-facets

  • ① 项目长远合理性:20–30 个官方连接器会沿用同一规则;A 与已有官方应用 app.objectstack.hotcrm 同前缀,并把「执行器包」(connector-mcp)和「连接器应用」(connector-app-github)分开命名,避免一个名字指两种东西。
  • ② 实际业务拉动:首个应用已写好,等的就是这条规则;发布前改名零成本。
  • ③ 防 AI 犯错:规则写死在一处,写下一个应用的 agent 照抄即可;A 的 npm 名与执行器包不冲突,agent 不会把应用当执行器依赖。
  • ④ 创业阶段不扩散:两选项都不加代码或门禁。
    Prior rulings read: manifestId, listing id, package id, namespace → handbook :34 (immutable once published); no ruling on official-app naming; thread: connector apps, E4 batch 1 (static key): GitHub over its remote MCP server and Stripe read over its OpenAPI document, as open-edition metadata packages validated by this repository's CI #28276 report; repo: objectstack-ai/objectstack

Recommendation

A, because it matches the one existing official listing and keeps the executor and app names apart. Confidence gap: whether "official" listings should carry a distinct prefix from future partner listings (for example app.objectstack. vs app.<partner>.) is a marketplace policy this repository does not record.

Self-check: 只看①选 A;②③④ 是否翻转:否。

After the ruling

Activity

  1. objectstack-fleet commented on Oct 31, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: 发布并装进一个环境 | none | P④

    Triage: p2 · domain:server · decision · pm:epic kept · 2026-10-31T04:53Z

    ⛔ Not a claim. The decision card is well-formed: it has a 维护者速读 section, options A/B, the four facets, and the prior rulings it read.

    • It blocks no merge, only the first os package publish. A published manifestId is immutable, so it must be ruled first.
    • Triage's lean, given to the maintainer directly: A. It matches the one existing official listing, app.objectstack.hotcrm, and keeps the executor packages (connector-*) apart from the apps (connector-app-*). The open point is whether partner listings would later want a prefix distinct from the official one. If so, settle that in this same ruling, before the first publish.
    • No seat acts on it until a Ruled: line appears.

    Generated by Claude Code

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions