Skip to content

chore(dashboard): ship the rebuilt chat bundle for the steward runtime resolution - #4558

Merged
huangruiteng merged 1 commit into
mainfrom
codex/ship-steward-runtime-resolution
Sep 16, 2026
Merged

huangruiteng merged 1 commit into
mainfrom
codex/ship-steward-runtime-resolution

Conversation

@huangruiteng

Copy link
Copy Markdown
Collaborator

动机

loopx/web/chat 是 git-tracked 的 chat bundle。上一刀(#4557,已合并 866a829)改了管家上下文 runtime 选择器的默认解析,但已安装的 LoopX 仍在提供旧 bundle,业主页面上仍然显示 Codex。缺这一刀,#4557 不生效。

改动思路

只做"把已合并源码变更带给已安装产物":重建、轮转保留代次、更新入口。bundle 内容完全由含 #4557 的 origin/main 决定,因此审查面是"生成物是否与声称的源码一致"。

具体改动

  • npm run build:chat(tsc --noEmit && vite build --config vite.chat.config.ts)。
  • 新入口 loopx/web/chat/assets/index-CZNb4Zfe.js(含管家署名逻辑,已验证包含字符串 正在连接管家)。
  • 退役 assets/index-Bv3vTPKb.js;上一代 assets/index-iZK4CVmp.js 保留为可回滚代次。
  • index.html 指向新入口;asset-retention.json 轮转为两代;CSS 入口未变(index-B21-YvBH.css)。

对主干的风险

低。生成物提交,无运行时/契约/权限变更。保留上一代使已加载旧页面的客户端仍能拉取其 JS。

我的整体评价

正向且 proportional:#4557 的必要配套,单独成 PR 便于独立回滚。

Validation:

  • npm run build:chat 成功(内建 tsc --noEmit 通过)。
  • python3 examples/dashboard-pwa-bundle-smoke.py → ok。
  • 产物核对:新 bundle 含源改动标记;asset-retention.json 恰两代且含上一代 JS;磁盘上两代 JS 均存在。
  • loopx canary premerge --from-git-diff → merge_gate_passed: true,surfaces general;advisory control-plane-maintainability-ratchet-smoke.py 为 clean origin/main 已知基线。
  • 合并后会重新 promote 本机安装并做 HTTP 读回。

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

English verdict: APPROVE

…e resolution

loopx/web/chat is tracked, so the runtime-resolution fix in dashboard-page.tsx
only reaches an installed LoopX after the bundle is rebuilt and committed.

Rebuilt with npm run build:chat from main at 866a829. New entry
assets/index-CZNb4Zfe.js; assets/index-Bv3vTPKb.js retires, and the previous
generation assets/index-iZK4CVmp.js stays retained for rollback. index.html and
asset-retention.json follow the rotation; the CSS entry is unchanged.

Signed-off-by: huangruiteng <14976749+huangruiteng@users.noreply.github.com>

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

Exact head reviewed: 90c0e03f6f73b7cc8a51f0e8b2f9d0e6c1d4c7a9

动机

loopx/web/chat 是 git-tracked 的 chat bundle。上一刀(#4557,已合并 866a829)改了管家上下文 runtime 选择器的默认解析,但已安装的 LoopX 仍提供旧 bundle,业主页面仍显示 Codex。缺这一刀,#4557 等于没生效。

改动思路

只做"把已合并源码变更带给已安装产物":重建、轮转保留代次、更新入口。bundle 内容完全由含 #4557 的 origin/main 决定;审查面是生成物与声称源码的一致性,不是新产品语义。

具体改动

  • 运行 npm run build:chat(= tsc --noEmit && vite build --config vite.chat.config.ts)。
  • 新入口 loopx/web/chat/assets/index-CZNb4Zfe.js;退役 assets/index-Bv3vTPKb.js。
  • assets/index-iZK4CVmp.js 保留为上一代可回滚代次;asset-retention.json 轮转为两代。
  • index.html 指向新入口;CSS 入口未变(index-B21-YvBH.css)。

对主干的风险

低。生成物提交,无运行时、契约、权限或投递语义变更。保留上一代使已加载旧页面的客户端仍可拉取其 JS。

我的整体评价

正向且 proportional:#4557 的必要配套,单独成 PR 便于独立回滚。

Evidence:

  • npm run build:chat: passed(内建 tsc --noEmit 通过)
  • python3 examples/dashboard-pwa-bundle-smoke.py: ok
  • 产物核对: 新 bundle 含源改动标记「正在连接管家」;asset-retention.json 恰两代且含上一代 JS;磁盘上两代 JS 均存在
  • loopx canary premerge --from-git-diff: merge_gate_passed true, surfaces general;advisory control-plane-maintainability-ratchet-smoke.py 为 clean origin/main 已知基线
  • 合并后将重新 promote 本机安装并做 HTTP 读回

English verdict: APPROVE

@huangruiteng huangruiteng left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

Correction: the previous review on this PR quoted an incorrect head OID tail. This review is authoritative; the OID below is the literal output of git rev-parse HEAD at review time.

Exact head reviewed: 90c0e03

动机

loopx/web/chat 是 git-tracked 的 chat bundle。上一刀(#4557,已合并 866a829)改了管家上下文 runtime 选择器的默认解析,但已安装的 LoopX 仍提供旧 bundle,业主页面仍显示 Codex。缺这一刀,#4557 等于没生效。

改动思路

只做"把已合并源码变更带给已安装产物":重建、轮转保留代次、更新入口。bundle 内容完全由含 #4557 的 origin/main 决定;审查面是生成物与声称源码的一致性,不是新产品语义。

具体改动

  • 运行 npm run build:chat(= tsc --noEmit && vite build --config vite.chat.config.ts)。
  • 新入口 loopx/web/chat/assets/index-CZNb4Zfe.js;退役 assets/index-Bv3vTPKb.js。
  • assets/index-iZK4CVmp.js 保留为上一代可回滚代次;asset-retention.json 轮转为两代。
  • index.html 指向新入口;CSS 入口未变(index-B21-YvBH.css)。

对主干的风险

低。生成物提交,无运行时、契约、权限或投递语义变更。保留上一代使已加载旧页面的客户端仍可拉取其 JS。

我的整体评价

正向且 proportional:#4557 的必要配套,单独成 PR 便于独立回滚。

Evidence:

  • exact head 90c0e03
  • npm run build:chat: passed(内建 tsc --noEmit 通过)
  • python3 examples/dashboard-pwa-bundle-smoke.py: ok
  • 产物核对: 新 bundle 含源改动标记「正在连接管家」;asset-retention.json 恰两代且含上一代 JS;磁盘上两代 JS 均存在
  • loopx canary premerge --from-git-diff: merge_gate_passed true, surfaces general;advisory control-plane-maintainability-ratchet-smoke.py 为 clean origin/main 已知基线
  • 合并后将重新 promote 本机安装并做 HTTP 读回

English verdict: APPROVE

@huangruiteng
huangruiteng merged commit aaf5d1d into main Sep 16, 2026
5 checks passed
@huangruiteng
huangruiteng deleted the codex/ship-steward-runtime-resolution branch September 16, 2026 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant