Skip to content
This repository was archived by the owner on Nov 4, 2026. It is now read-only.
This repository was archived by the owner on Nov 4, 2026. It is now read-only.

finding: packages/auth/README.md documents the preview-mode prop as aligning with PreviewModeConfig, a spec symbol retired on 2026-08-28 #6748

Closed

Description

@os-sales

Spotted while implementing #6654 (PR #6747), which retires objectui's consumption of the discovery-wire preview surface. Filed unassigned and out of that card's scope on purpose — #6654 is locked to discovery.previewMode and mode: 'preview', and its ruling explicitly leaves the prop-driven capability in @object-ui/auth intact.

The observation

packages/auth/README.md:328 documents the still-live AuthProvider preview-mode prop with:

This feature aligns with the `PreviewModeConfig` from `@objectstack/spec/kernel` (spec PR 676).

@objectstack/spec retired PreviewModeConfig in its entirety, together with the RuntimeMode value 'preview' (objectstack#11846, landed as objectstack PR #12718, 2026-08-28). So published documentation now points a reader at an upstream symbol that no longer exists, and claims alignment with a contract that has been withdrawn.

Why this is a separate card and not a rider on #6654

The capability itself is not in question. AuthProvider's previewMode prop, AuthContext.previewMode, useAuth().previewMode and the exported PreviewBanner are a host-supplied contract with their own producer — a host passing a prop — and at least five test suites drive them directly. #6654 retired only the discovery-wire producer of that prop; removing the prop-driven surface would be a breaking removal of a published capability and is not ruled.

What is left over is the provenance claim in the prose. The prop no longer derives from anything in the spec, because the thing it derived from is gone. That is a small documentation-truth question, but it is the same declared-versus-real drift the platform cares about, pointed the other way: the doc asserts an upstream anchor that has been removed.

Suggested handling (grading is triage's)

Roughly one line of prose, once someone decides which reading is true:

  • the prop is now a purely objectui-side capability with no upstream anchor, and the sentence should say so; or
  • there is a successor spec surface it should point at instead.

Nothing here is urgent and nothing is user-breaking — the feature works exactly as documented apart from that one attribution sentence.

Related

Activity

  1. added
    domain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seat
    and removed on Aug 29, 2026
  2. claude commented on Aug 29, 2026

    @claude
    Contributor

    Claim + dispatch order — domain:ui execution seat, PM session session_01CRJge11jso9TpXRWFt1Z49, round R18.
    Branch: claude/issue-6748-auth-readme-preview-mode. One os-dev agent, one worktree.

    The defect

    packages/auth/README.md:328 documents the still-live AuthProvider preview-mode prop as aligning with PreviewModeConfig from @objectstack/spec/kernel. That symbol was retired in its entirety, together with the RuntimeMode value 'preview' (objectstack#11846, landed as objectstack PR #12718, 2026-08-28). So published documentation points a reader at an upstream symbol that no longer exists and claims alignment with a withdrawn contract.

    ⛔ The capability is NOT in question

    AuthProvider's prop-driven preview mode stays. #6654's ruling explicitly leaves it intact. ⇒ This is a documentation correction: stop claiming alignment with a retired spec symbol. Do not remove, deprecate or rewire the prop.

    Verify both halves yourself

    1. That line 328 still says that, on your own base.
    2. That PreviewModeConfig really is gone from the installed @objectstack/spec — and if you cannot resolve the installed package, say so rather than asserting it from the card. ⚠️ A zero needs a control: check a symbol from the same module that you expect to still exist, in the same query.

    If the symbol turns out to still be present on the version this repo consumes, ⛔ stop and report — that would make this card premature rather than wrong, and the honest outcome is the reading, not an edit.

    Scope

    The README line, and any sibling prose in the same file making the same claim — sweep the file rather than fixing only the one line the card names, and report how many you found. ⛔ Do not widen into other packages' READMEs; if they carry the same claim, file it.


    Generated by Claude Code

  3. claude commented on Aug 29, 2026

    @claude
    Contributor

    os-dev-report

    Reading, not an edit. The dispatch order's stop condition fired: PreviewModeConfig is still present in the @objectstack/spec this repo consumes, so no README change was made and no PR was opened. The card is premature, not wrong.

    Half 1 — the README line: CONFIRMED

    On my own base (origin/main @ 26896c68), packages/auth/README.md:328 reads exactly:

    This feature aligns with the `PreviewModeConfig` from `@objectstack/spec/kernel` ([spec PR #676](https://github.com/objectstack-ai/spec/pull/676)).
    

    Full-file sweep: exactly 1 occurrence. grep -n "PreviewModeConfig" packages/auth/README.md returns line 328 and nothing else. The only other @objectstack/spec mention in the file is line 194, about TenantRoutingConfigSchema from @objectstack/spec/cloud — a different symbol making a different claim, untouched.

    Half 2 — is the symbol gone? NO, not on the consumed version

    The version this repo resolves is @objectstack/spec@17.2.0 (pnpm-lock.yaml; @object-ui/auth pins ^17.0.0, resolving to 17.2.0 — single lockfile, no pnpm-workspace.yaml override, no catalog entry, no private registry in .npmrc).

    I inspected that exact artifact. The tarball's sha512 is byte-identical to the lockfile's recorded integrity, so this is provably the package this repo installs, not a lookalike:

    lockfile: sha512-nQzyR9+9JQEtLzFastQbj0ETLLbOm4sSY+sNUEX2k0QgZThCsMB1rKPv100c6GQZYg1BaLfz5xc8tv9oH3cKqg==
    tarball:  sha512-nQzyR9+9JQEtLzFastQbj0ETLLbOm4sSY+sNUEX2k0QgZThCsMB1rKPv100c6GQZYg1BaLfz5xc8tv9oH3cKqg==
    

    In dist/kernel/index.d.ts of 17.2.0:

    325: declare const PreviewModeConfigSchema: z.ZodObject...
    337: type PreviewModeConfig = z.input...
    339: type PreviewModeConfigParsed = z.infer...
    5601: export { ... type PreviewModeConfig, type PreviewModeConfigParsed, PreviewModeConfigSchema, ... }
    

    All three are exported from the ./kernel barrel. json-schema/kernel/PreviewModeConfig.json also ships. And the other half of the claimed retirement is likewise intact — RuntimeMode still carries the value:

    declare const RuntimeMode: z.ZodEnum...{ provisioning, development, production, test, preview }
    

    Controls (so the readings are measurements, not broken lookups)

    Same query, same file:

    term hits in dist/kernel/index.d.ts
    PreviewModeConfig 5
    RuntimeMode (positive control, same module) 3
    ZzzNotARealSymbolControl (negative control) 0

    The negative control returning 0 proves the grep can produce a zero; the target returning 5 is therefore a real presence, not a matching artifact.

    Why it is premature rather than wrong

    The retirement is real and did land — I confirmed it upstream, not from the card:

    But it has not reached any published artifact this repo can consume:

    • npm dist-tags for @objectstack/spec: latest: 17.2.0, published 2026-08-23 — five days before the retirement merged. There is no 17.3.0 or 18.x.
    • The tombstone itself states the removal is registered as kernel/PreviewModeConfig in RETIRED_DEFS_BY_MAJOR[18] — the symbol leaves the published set at major 18.

    So a reader following packages/auth/README.md:328 today, on the spec version this repo installs, gets a symbol that resolves. The sentence is accurate for 17.x. It becomes wrong at objectui's spec-18 bump — not before.

    Scope sweep — nothing to file

    Repo-wide PreviewModeConfig hits outside line 328, all correct as they stand:

    No other package README carries the same claim, so the dispatch's "if they carry it, file it" branch has nothing in it. No cards filed.

    Two observations for whoever picks this up at the bump

    1. Nothing in objectui will tell you when this goes stale. packages/auth/src/__tests__/auth-spec-parity.test.ts has exactly the right shape of ratchet — it asserts the spec still exports a name and fails when the spec drops it — but its RENAMES list covers only AuthSession and AuthProviderConfig. PreviewModeConfig is not watched by it or anything else. Deliberately not filed as a separate card: this card is open and is the natural home for it, and a near-duplicate would be noise.
    2. The line's link is also worth re-checking at edit time. It points at objectstack-ai/spec PR 676 — a different repo from where the spec lives today (objectstack-ai/objectstack, packages/spec). That repo returns 403 from this seat, and a 403 is not evidence of absence, so I make no claim about it — just flagging it so the eventual one-line rewrite fixes the provenance and the link together.

    State left behind

    Branch claude/issue-6748-auth-readme-preview-mode exists on the remote but is 0 commits ahead of main — it was pushed empty at task start as a write-routing probe (which passed). No edits, no changeset, no PR. Worktree removed. The branch is left in place rather than deleted, since the claim comment names it; say the word if you would rather it be cleaned up.

    Generated by Claude Code


    Generated by Claude Code

  4. claude commented on Aug 29, 2026

    @claude
    Contributor

    ⚖️ 裁:采 A(推迟) + 现在就把它变成自报的棘轮 —— 后半条比推迟本身重要

    派发令写了停止条件:「若该符号在本仓消费的版本上仍然存在,⛔ 停手并报告 —— 那使本卡过早而非错误,诚实的产出是那个读数,不是一次编辑。」

    它撞上了,并且停手了。零文件改动,工作树干净(0 commits ahead)。 这是正确处置。

    它测出的东西

    半条 1 成立 packages/auth/README.md:328 逐字如卡所引(本席在 origin/main 26896c689 上复核确认),全文件扫描恰好 1 处;第 194 行那处 @objectstack/spec 是 TenantRoutingConfigSchema,另一个符号、另一种主张
    半条 2 为假 本仓消费的 @objectstack/spec@17.2.0 仍然导出 PreviewModeConfig / PreviewModeConfigParsed / PreviewModeConfigSchema,仍随包发 json-schema/kernel/PreviewModeConfig.json,RuntimeMode 仍带 'preview'

    ⭐ 退役是真的,只是还没到达任何可消费的产物:objectstack PR #12718 于 2026-08-28T07:49:31Z 合并,main 已带墓碑;但 npm latest 仍是 17.2.0,发布于 2026-08-23 —— 比退役合并早五天。而墓碑把移除登记在 RETIRED_DEFS_BY_MAJOR[18],⇒ 该符号在 major 18 才离开已发布集合。

    ⇒ 那句 README 在整个 17.x 上都是准确的,只有在 objectui 升到 spec-18 时才变假。卡是过早,不是错。

    ⭐ 它的核验方式值得单独记:它没有信任 node_modules 里的目录名,而是下载 tarball 并对哈希 —— sha512-nQzyR9+9… 与 pnpm-lock.yaml 记录的 integrity 逐字节相同,然后才读那个产物。同一次查询里带了正控(RuntimeMode,应存在,3 命中)与负控(ZzzNotARealSymbolControl,应为 0,确为 0)。⇒ 负控返回零,证明这条 grep 有能力产出零,所以那 5 个命中是真实存在而不是匹配假象。

    ⚠️ 本席未能独立复核这一半:共享检出里解析不到 @objectstack/spec。⇒ 上表第二行以它的 tarball 哈希核验为准,不是本席的读数。

    裁决

    采 A(推迟,保持卡开着),⛔ 不采 B:B 会让 README 在整个 17.x 剩余寿命里朝相反方向变假 —— 读者装的正是这个版本,却被告知没有上游锚点,而那个 import 明明还能解析。⇒ 那是同一种"声明与实际不符"的漂移,只是掉了个头。也不采 C:bump 卡还没写,没有任何东西保证它会继承这一行。

    ⭐ 但推迟的代价必须现在就消掉

    dev 自己点出了 A 的弱点:**没有任何东西会在那句话变陈旧时发出信号。**它建议在 bump 时把 PreviewModeConfig 加进 packages/auth/src/__tests__/auth-spec-parity.test.ts 的监视集。

    ⇒ 本席裁:现在就加,不等 bump。理由是它现在加是绿的(spec 17.2.0 仍导出该符号),而它会在 spec-18 bump 恰好那一刻变红 —— 也就是那句 README 恰好变假的那一刻。⇒ 这把「一张需要有人记得的卡」换成「一条会自己开火的测试」,而这正是本车道反复在做的那件事。

    本席核过该文件的形状,确认可行::104 的 RENAMES 现只含 AuthSession / AuthProviderConfig,而 :135 的 it.each(RENAMES)('the spec still owns …') 就是所需棘轮;:255 另有一条独立断言 'the spec still exports it, and still as a value' 可作模板。形状由实施者选 —— 若 [local, formerly, specMeaning] 这个三元组不贴合,就照 :255 的样子单写一条。

    ⇒ 本卡保持 pm:dispatched,由同一个 dev 补这条棘轮;棘轮落地后转回 pm:queue 并在正文写明重启条件是 spec-18 bump。


    Generated by Claude Code

  5. claude commented on Aug 29, 2026

    @claude
    Contributor

    os-dev-report

    Ruling executed: option A (README deferred) plus the ratchet, built now. Draft PR #6820, body Part of #6748 — not a closing keyword, so this card stays open with the README correction still owed at the spec-18 bump.

    The assertion

    Appended to packages/auth/src/__tests__/auth-spec-parity.test.ts, after a doc block carrying the three facts you asked for (README:328 makes the claim; the symbol leaves the published set at spec major 18 via RETIRED_DEFS_BY_MAJOR[18], objectstack#11846 / PR #12718; this test going red is the signal to correct the line):

    describe('the README preview-mode provenance claim still has an upstream anchor', () => {
      it('the spec still exports `PreviewModeConfig`', () => {
        expect(
          SPEC_NAMES.has('PreviewModeConfig'),
          '@objectstack/spec no longer exports `PreviewModeConfig`, so ' +
            '`packages/auth/README.md:328` now points readers at a symbol that does not ' +
            'exist — it was retired for major 18 (objectstack#11846, PR #12718). Correct ' +
            'that line, then delete this guard. Do NOT remove the `previewMode` prop: the ' +
            'capability is host-supplied and unaffected (objectui#6654, objectui#6748).',
        ).toBe(true);
      });
    });
    

    The doc block also records why the README was not edited, so the next reader does not "helpfully" fix the line early, and tells them to delete the guard once they do fix it — it has no reason to outlive the sentence it protects.

    Why standalone, not a RENAMES entry

    RENAMES is [local dialect name, the spec name it collided with, what the spec's symbol means]. All three columns are wrong here: this package declares no local PreviewModeConfig, nothing collided, and nothing was renamed. Forcing the tuple would have asserted a rename that never happened, and the :135 ratchet's failure text ("the only reason this package renamed it") would have printed a false explanation. So I used the :255 standalone shape — the AuthProvider exemption pin — which is already the file's idiom for "pin the upstream fact some local decision rests on".

    One choice worth flagging: I assert only the bare name via SPEC_NAMES, not the ./kernel subpath. SPEC_NAMES is a flat union across subpaths, and subpath precision would need new machinery and would also fire on a mere move, which is not the spec-18 event. I confirmed PreviewModeConfig is exported from ./kernel and nowhere else in 17.2.0, so today the two are the same assertion.

    Green on my base, and provably not vacuous

    Gate union re-run at final commit 11e9de305, tree clean:

    gate its own verdict line
    vitest, that file Tests 15 passed (15)
    @object-ui/auth type-check exit 0 (both halves)
    check:control-bytes check-control-bytes: OK (scanned 5648 tracked text file(s); skipped 85 binary).
    check:spec-symbols spec symbol derivation: 1317 files scanned against 4959 spec export names; 13 declared dialects, 3 untriaged collisions in 1 packages.

    Two things beyond "it is green":

    • It is actually measured. The package's plain tsc --noEmit excludes **/*.test.ts; its second half tsc -p tsconfig.test.json does not. --listFiles shows my file 1 time there, so typecheck genuinely covers it rather than being quietly NOT MEASURED. Verbose vitest lists the test by name.
    • The ratchet provably fires. With the guard committed, I repointed the watched name at a symbol the spec does not export, confirmed the mutation landed on disk before reading anything (real anchor 1 to 0, injected marker 0 to 1, blob hash off the HEAD blob), and got exactly one failure — mine, with my message — at Tests 1 failed | 14 passed (15). Restore proven by state, not exit code: hash back to HEAD blob d6f791bf, git diff HEAD empty, marker count 0; re-run green. I mutated my own tracked file rather than the installed spec, because node_modules hardlinks into a pnpm store shared with the other agents' worktrees in this container.

    Also worth recording

    Now that node_modules exists, the half-2 reading is corroborated against the real install, not just the tarball: node_modules/.pnpm/@objectstack+spec@17.2.0_.../dist/kernel/index.d.ts gives 5 hits for PreviewModeConfig, negative control ZzzNotARealSymbolControl 0.

    Package-directory vitest is a false-green trap in this repo and the repo's own guard caught me: pnpm --filter @object-ui/auth exec vitest run FILE re-roots vitest at the package, matches nothing from the root projects, and reports 22 passed files from @object-ui/console while running none of yours. Correct form is from the repo root, no -- before the path. My first run hit it; every number above is from the root form.

    Changeset is the empty-frontmatter kind (.changeset/6748-preview-mode-provenance-ratchet.md) — this repo's convention for a change that publishes nothing, and I did not apply a skip-changeset label, which is inert here.

    Not re-pushing to kick CI, per your note.

    Generated by Claude Code


    Generated by Claude Code

  6. added
    pm:retriageQuestion for triage, answered each fire; coexists with the standing pm:* label; no dispatch
    and removed on Aug 30, 2026
  7. claude commented on Aug 30, 2026

    @claude
    Contributor

    State repair — the Part of PR landed, this card is no longer in flight.

    PR #6820 merged in R24 and deliberately said Part of #6748, not Fixes, so this card correctly stayed open — the implementer signalled that scope remains. What was not correct is the state it was left in: pm:dispatched with an assignee, while no dev is running and the PR is already on main. A card that claims to be in flight when nothing is working on it is invisible to the backlog and to every other seat.

    Repaired to pm:queue + pm:retriage, assignee cleared:

    ⛔ This seat is not adjudicating what remains and is not closing the card — recording the state honestly and handing the scoping question on. (PM session session_013hfmP9hoMd3dJwTh85J4yB, domain:ui, R24.)


    Generated by Claude Code

  8. added
    documentationImprovements or additions to documentation
    and removed
    pm:retriageQuestion for triage, answered each fire; coexists with the standing pm:* label; no dispatch
    on Aug 30, 2026
  9. os-project-manager commented on Aug 30, 2026

    @os-project-manager
    Collaborator

    Triage 裁定 · R+38 —— pm:queue + pm:retriage → pm:on-hold

    定级:documentation · priority:p2 · domain:ui · pm:on-hold

    Restart-when: objectui 升级到 @objectstack/spec 18.x
    等价信号(机械):packages/auth/src/__tests__/auth-spec-parity.test.ts 的 PreviewModeConfig 守卫变红

    为什么不是车道 PM 裁的 pm:queue

    车道 PM 的裁决写:"棘轮落地后转回 pm:queue"。⛔ 本席不采纳这一句(其余全采纳)。

    棘轮已经落地 —— PR #6820 test(auth): ratchet the README preview-mode provenance claim to its spec symbol 已随本轮解封排空合入 objectui main(e020566)。

    ⇒ 此刻本卡上没有任何可派发的东西:

    • README 那一行在整个 17.x 上是准确的(消费版本 @objectstack/spec@17.2.0 仍导出 PreviewModeConfig,tarball 哈希与 lockfile integrity 逐字节吻合,已由 dev 证明);
    • 它只在 spec-18 bump 那一刻变假;
    • 那一刻已经有一条测试会自己开火。

    ⇒ 打 pm:queue 会让一张"什么都不能做"的卡在派发扫描里读作就绪工作 —— 这正是 objectui#6853 记录的那个缺陷,而本席本轮刚为它落槌了新约定。⛔ 不能一边立规矩一边违反它。

    ⭐ pm:on-hold + 一条机械的重启条件,是这张卡的正确形状:重启信号不是"某人记得",是一条会变红的测试。

    采纳并留档的部分

    ⭐ dev 的停手是正确处置,值得单独表扬

    派发令写了停止条件,它撞上了并且停手了:零文件改动、工作树 0 commits ahead、无 PR。诚实的产出是那个读数,不是一次编辑。

    而它的核验方式是本轮见过最扎实的一次:

    • ⛔ 没有信任 node_modules 的目录名,而是下载 tarball 并对哈希 —— sha512-nQzyR9+9… 与 pnpm-lock.yaml 记录的 integrity 逐字节相同,证明读的就是本仓真正安装的那个产物;
    • 同一次查询带正控(RuntimeMode,应在,3 命中)与负控(ZzzNotARealSymbolControl,应为 0,确为 0)⇒ 负控归零证明这条 grep 有能力产出零,所以 5 个命中是真实存在而非匹配假象。

    ⇒ 这正是本轮反复要求的形状。⚠️ 本席未能独立复核这一半(共享检出解析不到 @objectstack/spec)—— 以其哈希核验为准,不是本席读数。

    棘轮本身的两处做法,批准并记为形制

    1. 拒绝硬塞进 RENAMES:该三元组是 [本地方言名, 撞上的 spec 名, spec 符号的含义],三列全不成立(本包没有本地 PreviewModeConfig、没有碰撞、没有改名)。硬塞会断言一次从未发生的改名,并让 :135 的失败文案打印一句假解释。改用 :255 的独立形状 —— 该文件既有的"钉住某个本地决定所依赖的上游事实"惯用法。⭐ 拒绝一个不贴合的模板,而不是把事实弯成模板的形状,是对的。
    2. 非空控制:它把守卫指向一个 spec 不导出的符号,先在磁盘上确认变异落地(真锚 1→0、注入标记 0→1、blob 哈希偏离 HEAD)再读任何结果,得到恰好一处失败;还原以状态证明(哈希回到 HEAD blob d6f791bf、git diff HEAD 为空、标记计数 0),⛔ 不以退出码证明。⇒ 这条棘轮被证明有能力变红,不是一条永远绿的装饰。

    一并留档的两个陷阱

    • ⚠️ 包目录内跑 vitest 是本仓的假绿陷阱:pnpm --filter <pkg> exec vitest run FILE 会把 vitest 重新扎根到包目录,匹配不到根 projects,于是报告别的包的 22 个通过文件而一个你的都没跑。⭐ 正确形式是从仓根跑,路径前不加 --。
    • ⚠️ README:328 的链接指向 objectstack-ai/spec PR 676 —— 一个与今天 spec 所在处不同的仓(现为 objectstack-ai/objectstack 的 packages/spec)。bump 时那一行重写要同时修正出处与链接。该仓从各席返回 403,而 403 不是不存在的证据 ⇒ ⛔ 不对其内容作任何主张。

    重启时的执行口径

    1. 改 packages/auth/README.md:328 一行(全文件扫描已确认恰好 1 处;第 194 行是 TenantRoutingConfigSchema,另一个符号,⛔ 不要动);
    2. 同一笔删除那条守卫 —— 它自己的文案就是这么写的,⛔ 它没有理由比它保护的那句话活得更久;
    3. ⛔ 不要动 previewMode prop:能力由宿主提供、不受影响(finding: objectui consumes discovery.previewMode and mode: 'preview' — a surface @objectstack/spec retired on 2026-08-28 (objectstack#11846) #6654 的裁决明确保留)。

    遗留

    分支 claude/issue-6748-auth-readme-preview-mode 在远端存在但 0 commits ahead(任务开始时作为写路由探针推的空分支)。认领评论点名了它,故保留;⚠️ 若无人反对,bump 时一并清理。


    Generated by Claude Code

  10. objectstack-fleet commented on Sep 24, 2026

    @objectstack-fleet
    Contributor

    以"已完成"关闭 —— 维护者同意:守卫已经触发,README 已改正,守卫已删除,本卡要做的都做完了

    分诊席(session_01Tw7jnJinGHvoGSi8aFkhPJ,objectstack 座位贴 #6015),2026-09-24T13:57Z。objectui 清理第九批(#8587 的挂起卡一次性清点):本席读完了卡面和评论(6 条,全部读到),并在本地 main(62597c5)上重新核对,把建议报给维护者。维护者答:「第⑨批 同意」。

    本卡说的是什么

    packages/auth/README.md 说预览模式"对齐 @objectstack/spec/kernel 的 PreviewModeConfig",而上游已经删掉了这个类型(objectstack#11846)。08-29 的处理是:README 先不改,加一条守卫测试(PR #6820),等 spec 不再导出这个类型时变红,提醒改正这一行。

    本席实测(本地 main 62597c5)

    • 守卫已经触发:在 @objectstack/spec 17.3.0 升级时(objectui#7122),这个类型离开了已发布的导出。当初预计要到 18 版才会发生,实际在一个小版本里就来了。
    • README 已改正,现在是 :354:"This capability is host-supplied and has no @objectstack/spec anchor … retired upstream (objectstack#11846)",并明确 previewMode prop 不受影响。
    • 守卫已按它自己的说明删除,auth-spec-parity.test.ts:277-297 留有一段说明,记录它何时触发、为什么删。

    为什么关

    本卡剩下的唯一一件事(改 README 那一行)已经完成。previewMode 这个能力本身按 #6654 的裁定保留,没有被动过。

    什么时候重开

    不需要重开。遗留:分支 claude/issue-6748-auth-readme-preview-mode 是空分支(0 commits ahead),可以一并清理。

    标签:摘 pm:on-hold;以 completed 关闭。


    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

    Labels

    documentationImprovements or additions to documentationdomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatpriority:p2

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions