You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Disposition (2026-08-07): returned to the queue — the semantics were already ruled on in #5673.
The maintainer decided on 2026-08-06 that a deployment with NODE_ENV unset must not call itself development; the runtime producer was fixed, and metadata-protocol's getDiscovery was left behind only because that dispatch forbade touching it. What is left is a placement question, not a semantic one — which is engineering judgement.
Direction 1: fold the default into resolveDiscoveryEnvironment (unset → production) so both producers inherit it, drop their local defaults, and fix the now-false comment at discovery.zod.ts:314 in the same pass. Direction 2 (patch metadata-protocol locally) would leave a second copy of the default — exactly the drift the shared table was created to prevent (#4828).
Single-point default also means the next discovery producer gets the right answer without anyone remembering to copy a line.
Operator: PM session session_01GcjbQLUQKysMU9uXB34iyv; maintainer ruling 2026-08-07 (decision-inbox round 2). Veto window open — comment or reopen to overturn.
Release-board audit (maintainer-directed re-audit of non-board domain:spec items, 2026-08-07): adding target:v17 — criterion ①: with NODE_ENV unset, the second /discovery producer still broadcasts environment=development — the exact direction #5673 ruled dangerous; the ruled fix (fold unset→production into the shared mapper) is recorded. Triage seat may veto.
Activity
claude commentedon Aug 6, 2026
分诊:
needs-user-decision+domain:spec(路由标签,方向未定)。packages/runtime/src/http-dispatcher.ts,并明确要求「若必须改packages/metadata-protocol就 STOP + needs_decision」;本单正是那条 STOP 的兑现 —— 两条候选(1 收进共享映射函数resolveDiscoveryEnvironment,动packages/spec;2 在 metadata-protocol 生产者就地补默认,留两份缺省语义)语义相反、代价不同,分诊不代拍。packages/spec/src/api/discovery.zod.ts:341-344(+ 其上方映射表注释「unset / anything else → development」那一行,NODE_ENV 未设置时 /discovery 广播 environment=development,而 os start 默认 NODE_ENV=production、CLI doctor 也按 production 解析 #5673 之后对 runtime 调用方已过时);方向 2 落packages/metadata-protocol/src/protocol.ts:2900(getDiscovery)。按「shared contract surfaces have one owner」先归domain:spec座位;若裁 2(零改 spec),由该座位按落点转domain:engine-core(packages/metadata*属该行)。@objectstack/rest暴露的/discovery自称 development」,正是 NODE_ENV 未设置时 /discovery 广播 environment=development,而 os start 默认 NODE_ENV=production、CLI doctor 也按 production 解析 #5673 判定为危险方向的那一个,只是换了生产者。resolveDiscoveryEnvironment/NODE_ENV/getDiscovery命中 NODE_ENV 未设置时 /discovery 广播 environment=development,而 os start 默认 NODE_ENV=production、CLI doctor 也按 production 解析 #5673(runtime 半边,cli 座位,已派发)与 「环境类别」这一个概念在 spec 里有两个枚举:DiscoverySchema.environment(3 成员)与 EnvironmentTypeSchema(7 成员) #5676(environment 两个枚举并存,spec 队列,另一族)与本单,无重复入口。git log --oneline origin/main -- packages/spec/src/api/discovery.zod.ts最近一条是 SDK 的 client.capabilities 声明为 WellKnownCapabilities,但两个 discovery 生产者填的是互不相交的键集 #5672→feat(spec,runtime,metadata-protocol,client)!: 统一能力词表 —— 封闭声明,两个 discovery 生产者全量发 (#5672) #5857(能力词表统一,两个 discovery 生产者全量发),未触缺省语义;resolveDiscoveryEnvironment(undefined) → 'development'与 metadata-protocol 侧原样递传现状均未变。前提成立。本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
claude commentedon Aug 7, 2026
Disposition (2026-08-07): returned to the queue — the semantics were already ruled on in #5673.
The maintainer decided on 2026-08-06 that a deployment with
NODE_ENVunset must not call itselfdevelopment; the runtime producer was fixed, and metadata-protocol'sgetDiscoverywas left behind only because that dispatch forbade touching it. What is left is a placement question, not a semantic one — which is engineering judgement.Direction 1: fold the default into
resolveDiscoveryEnvironment(unset → production) so both producers inherit it, drop their local defaults, and fix the now-false comment atdiscovery.zod.ts:314in the same pass. Direction 2 (patch metadata-protocol locally) would leave a second copy of the default — exactly the drift the shared table was created to prevent (#4828).Single-point default also means the next discovery producer gets the right answer without anyone remembering to copy a line.
Operator: PM session
session_01GcjbQLUQKysMU9uXB34iyv; maintainer ruling 2026-08-07 (decision-inbox round 2). Veto window open — comment or reopen to overturn.Generated by Claude Code
hotlong commentedon Aug 7, 2026
Release-board audit (maintainer-directed re-audit of non-board
domain:specitems, 2026-08-07): addingtarget:v17— criterion ①: withNODE_ENVunset, the second/discoveryproducer still broadcastsenvironment=development— the exact direction #5673 ruled dangerous; the ruled fix (fold unset→production into the shared mapper) is recorded. Triage seat may veto.Generated by Claude Code