Repository navigation
Description
director#1 · os-support-ai · session_01WGufzg12BtjFc5rHp7YD1J
Filing gate ②, a decision only the maintainer can make (every publish is the maintainer's own act, AGENTS.md Prime Directive 15). The maintainer, in the director session, 「同意」 to the director's offer to file this card after the project assessment. ⛔ Not a claim. Reader who acts: the maintainer rules; then the domain:devx seat for any workflow change, and the director seat's daily summary for the cadence reminder.
维护者速读
- 问题:合并速度约每周 1,700 个 PR,发布是人工 QA 把关后由您手动发,所以每次发布带的改动非常大,下游应用仓要等好几天才能装到修复。
- 实测:18.0.0(10-20)、18.1.0(10-24)、18.2.0(10-27)约 3–4 天一发;18.3.0 的发版测试从 10-29 开始,现在第 4 波,刚出一轮 23 PASS / 4 FAIL;Version Packages PR chore: version packages #26517 已开 6 天,+57,972 / −17,952 行、1,354 个文件,待发 changeset 1,088 个。今天的决策卡 fix(plugin-security): an app permission set's readable:false on a sys_* field also masks platform admins who hold that set #29106 就是应用仓在 18.2.0 上实测出来的。
- 推荐 B:稳定版照旧走 QA 与您的批准;另加一个
next预发布通道,每天从 main 发一次(仍是您点批准),应用仓可以立刻装到修复。 - 代价:您每天多一次批准点击;发布 workflow 要加一条快照发布路径(Tier H,需您批准)。
- 您要做的一个动作:回一个字母(A / B / C)。
Measured
| reading | value | re-check |
|---|---|---|
18.x publish dates (npm time) |
18.0.0 10-20 12:51Z · 18.1.0 10-24 09:11Z · 18.2.0 10-27 06:20Z | npm view @objectstack/spec time --json |
| PRs merged 2026-10-26 → 11-02 | 1,776 | search is:pr is:merged merged:>=2026-10-26 |
| Version Packages PR #26517 | open since 10-27 06:17Z; +57,972 / −17,952; 1,354 files | GET /pulls/26517 |
pending changeset files on main |
1,088 | count .changeset/*.md other than README.md |
| 18.3.0 release sweep | #27377 open since 10-29; wave 4 run #28981: 23 PASS / 4 FAIL | GET /issues/27377 |
What would make the delta small instead: a release every day, or a channel that is installable without waiting for the sweep. Neither exists today; next was last used for 18.0.0-next.0 … next.5 under Changesets pre mode, exited by #24528.
Governing text
- AGENTS.md Prime Directive 15: 「A version release is performed by the maintainer, by hand — no AI seat publishes, tags, cuts a Release, or triggers a release, and none merges the Version Packages PR.」 Every option keeps this.
- ADR-0125: the release is triggered by the push that lands the Version Packages PR and held at the
releaseenvironment approval, which is the maintainer's publish authorisation. - ADR-0087: 「Every major is published to the
nextdist-tag at least one RC cycle before」 it goeslatest; nothing in it covers minors or patches.
Options
| what it does | what a customer notices | workload | |
|---|---|---|---|
| A | Fixed stable cadence, e.g. Tuesday and Friday: the release goes out on the day; the QA checklist runs continuously on main instead of as a per-release wave, and a FAIL blocks the release only when it meets the release-board test (target:*); other FAILs become fix-forward cards. |
Fixes reach latest within 3–4 days at most; each release is about half today's delta. |
No workflow change. Process change in the release sweep (domain:devx, checklist-test) · 1 card · no precedent. |
| B | Stable stays as today. Add a next snapshot channel: once a day the maintainer approves a snapshot publish (changeset version --snapshot, --tag next) from main. App repos pin next when they need a fix now. |
App repos install a fix the next day; latest users see no change. |
release.yml gains a snapshot lane (Tier H, the maintainer approves the PR) · 1–2 PRs · no precedent for snapshots here; precedent for a next channel: 18.0.0-next.0–5 under pre mode. Plus one approval click a day. |
| C | Keep today's process: release when the RC sweep closes. | App repos wait for the sweep; deltas stay at about a week of merges. | None. |
四轴分析
- 项目长远合理性:两年后成熟平台的发布形态是「稳定版按 QA 节奏 + 每日可安装的预发布通道」,Next.js 的 canary、React canary、Supabase CLI 的 beta 通道都是这样;稳定版不必为了快而降低把关。B 是这个形态;A 用节奏换增量大小,但仍要在快和稳之间二选一;C 让每次发布越来越大,出问题越难定位。
- 实际业务拉动:有。应用仓按「可安装」解锁(跨仓解锁判据),今天 fix(plugin-security): an app permission set's readable:false on a sys_* field also masks platform admins who hold that set #29106 等卡就是应用仓在 18.2.0 上实测的;修复在 main 上已合,用户却装不到。
- 防 AI 犯错:发布增量越大,发布后回溯哪个 PR 引入问题越难;B 让应用仓每天在真实安装面上验证,问题更早响亮暴露。A 也缩小增量。C 最差。
- 创业阶段不扩散:A 不新增任何面;B 新增一个预发布通道和一条 workflow 路径,外加您每天一次点击;C 最省。
os-decision-facets
- ① 项目长远合理性:B 是稳定版 + 每日预发布的主流终态;A 缩小增量但仍在快与稳间取舍;C 增量持续变大。
- ② 实际业务拉动:有——应用仓按可安装解锁,今天的决策卡在 18.2.0 上实测;main 已合的修复装不到。
- ③ 防 AI 犯错:B 让应用仓每天在真实安装面上响亮暴露问题;A 次之;C 让回溯越来越难。
- ④ 创业阶段不扩散:A 无新面;B 新增一个通道与一条 workflow 路径及每日一次点击;C 最省。
Prior rulings read: "release" "next" "Version Packages" "cadence" → ADR-0125, ADR-0087 (next for majors), chore(release): exit Changesets pre mode (next), so the next Version Packages PR versions 18.0.0 GA #24528 (exit pre mode), release: a Version Packages PR that merges behind main ships every changeset landed since its last refresh without a CHANGELOG entry (17.5.0: 8 changesets, 17.6.0: 1) #21361 (Version PR behind main); thread: none
自检:只看①选 B;②③④ 是否翻转:否(④ 只影响时序:可先试行两周)。
推荐:B。 A 不取:它用节奏缩小增量,但每次仍要在 QA 完整性和速度之间让步。C 不取:增量每周约 1,700 个 PR,持续变大。置信缺口: 快照版本号会在应用仓的锁文件里出现,应用仓多久升一次 next 没有实测;本仓没有快照发布的先例,release.yml 的改动规模未测。
Analysis-tier: claude-opus-5-5 (served at filing; not CONTRACT_REVIEW_TIER).
裁后执行
- A: one
domain:devxcard: continuous checklist runs onmainand the release-board test as the only release block; the director's daily summary names the next release day. - B: one
domain:devxcard for the snapshot lane inrelease.yml(Tier H, the maintainer approves), quoting this ruling; app-repo seats are told the channel exists; a two-week trial, then the director reports usage. - C: this card closes
not_planned.
Activity
objectstack-fleet commentedon Nov 2, 2026
director#1 · os-support-ai · session_01WGufzg12BtjFc5rHp7YD1J
Brief-claimed-by: session_01WGufzg12BtjFc5rHp7YD1J · batch #457 · 2026-11-02T15:56Z
⛔ Not a claim on the work. The director seat presents this card to the maintainer in batch #457, in the director session, with the analysis on this body.
objectstack-fleet commentedon Nov 2, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: p2 ·
domain:devx· decision card · 2026-11-02T16:06Z⛔ Not a claim.
domain:devxat p2; the director presents it in batch [WIP] Update action run logic for improved monitoring #457.Generated by Claude Code
objectstack-fleet commentedon Nov 2, 2026
director#1 · os-support-ai · session_01WGufzg12BtjFc5rHp7YD1J
Ruling: batch #457 item 2 · letter B · maintainer 「同意」 2026-11-02T17:12Z
nextsnapshot channel is added: once a day the maintainer approves a snapshot publish (changeset version --snapshot,--tag next) frommain; app repos pinnextwhen they need a fix now. AGENTS.md Prime Directive 15 is unchanged: every publish remains the maintainer's own act. Two-week trial, then the director reports usage on this card.release.ymlgains a snapshot lane (Tier H, the maintainer approves the PR), 1–2 PRs, no snapshot precedent here (precedent for anextchannel: 18.0.0-next.0–5 under pre mode); plus one approval click a day.release.ymlcard are thedomain:devxseat's (triage 6581920525).objectstack-fleet commentedon Nov 2, 2026
director#1 · os-support-ai · session_01WGufzg12BtjFc5rHp7YD1J
Ruling suspended · 2026-11-02T17:15Z
Ruled:line goes on the body, no lane acts on 6583414011, and the card staysneeds-user-decision. The director answers the three questions in the session and records the ruling here only on the maintainer's next answer.