Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions deploy/komodo/lingxiloop-app-a/compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ x-logging: &logging
max-file: "3"

x-runtime: &runtime
image: accel.way2api.fun/ghcr.io/lingxi-org/lingxiloop-server:c132e9f20b3df1873792618ed3f3bfe8be2be00e
image: accel.way2api.fun/ghcr.io/lingxi-org/lingxiloop-server:b76c4cc00f545ddbca27bced6628e1ed191e6777

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Back up migrations 0044–0045 before rolling out the image

On the normal rollout from the currently pinned c132e9f image, production is at migration 0043, while this b76c4cc image adds 0044 and 0045. However, trigger-komodo-rollout.mjs calls prepareForumRollout(), which returns immediately for every schema version >=40 before reaching its backup/restore block, so the subsequent App A deployment can run both new migrations without a fresh snapshot-consistent backup. Update the preflight gate to back up and verify the current database before advancing to schema 45.

Useful? React with 👍 / 👎.

pull_policy: always
restart: unless-stopped
environment: &runtime-environment
Expand Down Expand Up @@ -106,7 +106,7 @@ services:

worker:
<<: *runtime
image: accel.way2api.fun/ghcr.io/lingxi-org/lingxiloop-server:e1fe01c5d82d1553a9cc0f9d81d9e7d92898708d
image: accel.way2api.fun/ghcr.io/lingxi-org/lingxiloop-server:b76c4cc00f545ddbca27bced6628e1ed191e6777
environment:
<<: *runtime-environment
NODE_OPTIONS: --max-old-space-size=640
Expand Down
4 changes: 2 additions & 2 deletions deploy/komodo/lingxiloop-app-b/compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ x-logging: &logging
max-file: "3"

x-runtime: &runtime
image: accel.way2api.fun/ghcr.io/lingxi-org/lingxiloop-server:c132e9f20b3df1873792618ed3f3bfe8be2be00e
image: accel.way2api.fun/ghcr.io/lingxi-org/lingxiloop-server:b76c4cc00f545ddbca27bced6628e1ed191e6777
pull_policy: always
restart: unless-stopped
environment: &runtime-environment
Expand Down Expand Up @@ -106,7 +106,7 @@ services:

worker:
<<: *runtime
image: accel.way2api.fun/ghcr.io/lingxi-org/lingxiloop-server:e1fe01c5d82d1553a9cc0f9d81d9e7d92898708d
image: accel.way2api.fun/ghcr.io/lingxi-org/lingxiloop-server:b76c4cc00f545ddbca27bced6628e1ed191e6777
environment:
<<: *runtime-environment
NODE_OPTIONS: --max-old-space-size=640
Expand Down
42 changes: 42 additions & 0 deletions docs/evidence/release-20261019/COMMANDS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# 复验命令索引(本次整理未执行)

命令来自已完成的验收记录。先检出各记录中的精确源提交并使用精确官方 3.5.3 包。集成 runner 会清理测试数据,必须使用专用空测试数据库和独立 Redis;合成环境值、缓存绝对路径与凭据不包含在公开包中。设置 DOTENV_CONFIG_PATH 禁用真实环境文件载入,停用非目标 live provider;网页与浏览器也使用隔离 fixture。以下不含安装、部署或发布命令。

问卷:

```bash
node server/run-integration-tests.mjs --file questionnaire-wait.test.ts --file im-conversation-style.test.ts --file native-message-flow.test.ts --file native-message-approvals.test.ts --file im-send-reconciliation.test.ts --file interactive-ui-disabled.test.ts --file migration.test.ts
node scripts/run-tests.mjs server
CI_TEST_FILES='["src/api/questionnaires.test.ts","src/features/chat/runtime/error-recovery.test.ts","src/features/chat/runtime/history-loading.test.ts","src/features/chat/runtime/run-updates.test.ts","src/features/chat/runtime/transport.test.ts"]' node scripts/run-tests.mjs web
npm run server:typecheck
npm run server:lint
npm run typecheck
npm run test:e2e:typecheck
NODE_ENV=production node node_modules/vite/bin/vite.js build --config e2e/vite.questionnaire.config.ts --mode questionnaire-test
```

启动该新构建的隔离 preview 后,将 E2E_BASE_URL 绑定到它,设置 E2E_PROJECT=web、E2E_TELEMETRY_DISABLED=1、E2E_BUILD_INDEX=.e2e/questionnaire-site/e2e/questionnaire.html,并使用已缓存的官方浏览器执行:

```bash
node e2e/web/run.mjs e2e/web/questionnaire.e2e.ts --output .e2e/pr190-official-3.5.3
```

案例与论坛:

```bash
node docs/evidence/issue-187/live-case-agent/run.mjs owning organization-cases.test.ts knowledge-vertical-slice.test.ts attachment-answers.test.ts migration.test.ts
node docs/evidence/issue-187/live-case-agent/run.mjs live
node e2e/server/cases.mjs --browser-only
node e2e/server/forum.mjs --browser-only --issue184
node e2e/server/forum.mjs --browser --issue187
```

Provider(首轮、独立单项分别记录;真实模型命令需已有授权凭据绑定,不能在无授权时自动执行):

```bash
node scripts/runtime-acceptance/provider-fault-matrix.mjs
node scripts/runtime-acceptance/provider-fault-matrix.mjs runtime-deadline-recovery.test.ts
node --use-env-proxy e2e/server/model-switch.mjs --live
```

本包不携带真实凭据或 live 消息。四次模型调用和 usage 成本仅引用验收摘要。
30 changes: 30 additions & 0 deletions docs/evidence/release-20261019/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# 2026-10-19 预发布验收证据

`@lyyzka/lingxios@3.5.3` 已正式发布,registry gitHead 为 `59be37b141f41798ec03b2fffabb824d3ef50e36`。[runtime CI](https://github.com/LingXi-Org/LingxiOS/actions/runs/39240936281) · [发布流程](https://github.com/LingXi-Org/LingxiOS/actions/runs/39241356024)。精确包 integrity:

```text
sha512-e/KhQgtBJlKQl1aM+amJGail2ax8rqGL4Bqw68ehIM+2mlUbaq0WT1FD8WQaGU1/t7TyhYk8gt2IuHlX6OKhfQ==
```

产品 PR #185、#188、#192、#191、#190、#189 已合并,最终 main 为 `b76c4cc00f545ddbca27bced6628e1ed191e6777`。本预发布证据快照创建时,[最终 main CI 39243667498](https://github.com/LingXi-Org/LingxiLoop/actions/runs/39243667498) 仍在运行,本包不宣称它已通过。生产部署尚未发生;后续发布结果以发布 PR 的最终回执为准。

| 验收 | 实际结果 | 证据 |
| --- | --- | --- |
| 问卷与相关消息、迁移 | 66/66(36 + 30);server 107/107;web 92/92;browser 8/8,均零跳过 | [validation](questionnaire/validation.json)、[browser report](questionnaire/browser/report.json)、[JUnit](questionnaire/browser/junit.xml) |
| 案例相关集成与合成 live fixture | 52/52、1/1,零跳过 | [summary](cases/summary.json)、[实际 runtime](cases/actual-runtime.json)、[依赖一致性](cases/physical-dependencies.json) |
| 案例浏览器 | 2/2,零跳过 | [report](cases/results/cases/browser/report.json)、[JUnit](cases/results/cases/browser/junit.xml) |
| 论坛 #184 / #187 | browser 3/3 + 1/1;论坛集成 10/10,零跳过 | [#184 report](cases/results/forum184/browser/report.json)、[#187 report](cases/results/forum187/browser/report.json)、[summary](cases/summary.json) |
| Provider 矩阵首轮 | 13/14;1 失败,0 跳过 | [首轮摘要](provider-acceptance/20261019T110518Z/matrix-summary.json) |
| Deadline 单项独立复验 | 1/1;未改变阈值,未重跑全矩阵,付费调用 0 | [单项摘要](provider-acceptance/20261019T111735Z-deadline-targeted/matrix-summary.json) |
| 真实模型验收 | 1/1;4 次成功调用(Agent 3、host helper 1) | [live summary](provider-acceptance/20261019T110518Z/live-summary.json)、[完整公开说明](provider-acceptance/20261019T110518Z/PUBLIC-SUMMARY.md) |
| PR 级 CI 集成结果 | PR190:269 pass / 21 门控 skip;PR189:281 pass / 21 门控 skip | [release state](release-state.json),由发布主会话报告;不等同最终 main CI |

上述专项不是在最终 main 上新增重跑:问卷源提交为 `05b6fd2ed9ee53ed5c1fb07e29ba7dc730899878`,案例与 provider 源提交为 `ef594b8b8f0091d49ac4d618d2c221bdc54f617a`。各文件保留精确提交与包完整性,不能把分支验收改称最终 main 验收。

Provider 首轮的 100ms deadline 用例观察到请求数 0,而预期为 1。单项复验后来通过;首轮仍记为 13/14,不能合并写成 14/14。真实模型总 usage × 测试 tariff 为 **USD 0.00405601**,不是供应商扣费收据。Agent root 的预算不覆盖 host helper;总额限制是运行后的账本断言。[最终 provider 汇总](provider-acceptance/FINAL-SUMMARY.json)保留这一边界。

执行历史单独保留:[问卷](questionnaire/execution-attempts.json)首轮因输出目录参数被拒绝,exit 2、执行 0 个测试;修正后 8/8。[案例](cases/execution-attempts.json)首轮浏览器缓存不匹配,执行 0 个测试;下一轮虽有 2 个功能用例通过,但字体访问失败,不算最终视觉验收;随后使用内容相同的物理依赖副本完成最终浏览器验收。浏览器报告中的原始 VCS dirty 标志保留;最终工作树恢复状态另见 summary,不改写当时观测。

四个历史 issue #153、#155、#157、#161 仍待最终耐久性及完整 Worker–SPA 边界验收。旧 **3.5.1** soak 的 **797** 个样本、**47829.58 秒**仍是未完成记录,不能改称通过,也不能迁移归属到 3.5.3。案例 embeddings 使用合成常量 1024 维向量,未验证真实语义排序;真实模型那一轮也不替代这些待验边界。

[命令与环境边界](COMMANDS.md) · [核心截图索引](SCREENSHOTS.md) · [来源与变换记录](SOURCE-MANIFEST.json) · [本包 SHA-256](SHA256SUMS.json)。浏览器 report.json 是明确标注的精简公开投影,保留选择用例与结果;原始输入文件哈希可用于溯源。JUnit 与 7 张核心截图按字节保留。未纳入原始 live 对话、账单内容、网络/控制台记录、私有操作日志及历史归档目录。
17 changes: 17 additions & 0 deletions docs/evidence/release-20261019/SCREENSHOTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# 核心截图

全部为隔离合成 fixture,已目视检查。仅保留 7 张代表截图;源报告中的截图总数描述完整原始验收,并非本包数量。

- [问卷:显式重试后原答案保持只读](questionnaire/questionnaire-resume-retry.png)

- [cases: 001-student-editorial-grid-light.png](cases/results/cases/screenshots/001-student-editorial-grid-light.png)

- [cases: 004-mobile-dark-single-column-keyboard.png](cases/results/cases/screenshots/004-mobile-dark-single-column-keyboard.png)

- [forum184: 003-issue184-light-1440-editor-materials-open.png](cases/results/forum184/screenshots/003-issue184-light-1440-editor-materials-open.png)

- [forum184: 022-issue184-dark-390-focus-long-body.png](cases/results/forum184/screenshots/022-issue184-dark-390-focus-long-body.png)

- [forum187: 002-forum-scope-navigation-390.png](cases/results/forum187/screenshots/002-forum-scope-navigation-390.png)

- [forum187: 003-forum-scope-composer-mobile.png](cases/results/forum187/screenshots/003-forum-scope-composer-mobile.png)
44 changes: 44 additions & 0 deletions docs/evidence/release-20261019/SHA256SUMS.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"COMMANDS.md": "ba98a3336346b412a8d3d5ca6e70bc4cf949b1e2276eb95bc372538c9d9664c2",
"README.md": "b3b3e39cb20e23df4741962256cd244a1977edc4b41045b3b59cbb0876866553",
"SCREENSHOTS.md": "1436b4c6174d6661b0c455676205fbb039571aeb0478e5161a0279dfc0dd5d6d",
"SOURCE-MANIFEST.json": "866d3fe098596843d05185d3c8966cb404f336c7286b9ec4474daaedd67dfd02",
"cases/actual-runtime.json": "ca840215bf24cf06878846c230d65fbb4669f09169a51113386d9fd6b47887de",
"cases/cases.json": "2fdb3623d774017e92abdc2a8593597a99af20f71584f53e3f22d956bd0a50af",
"cases/execution-attempts.json": "2eb74eac1e93a6dcb6ed8512b807559d8daa9b48e3c68f07df9b4d06c43b6ce4",
"cases/forum184.json": "94c02630e957dc8fb6c6b0ffa965d97714cb1d526ed704e09dfa6d3d56626aed",
"cases/forum187.json": "bde990c470d5aa128f67ae0915068aacebaa13c1e3a9a56a1ad42e09bea087b6",
"cases/live.json": "0cef4bc3442f67f7ed3e8800719f6468a7c47be6a7ad7ad676def3a79c634d65",
"cases/owning.json": "338b7d5efc8ce599aa6a8fac3393b9d885548ec13c46616cf2a96ca28416affc",
"cases/physical-dependencies.json": "26e5dfbb80919b536b78cfbbb3aa045234b1a104caad2776c9527eebecc8b7a6",
"cases/results/cases/browser/junit.xml": "dddda04aecade810861934a2eaf56a1b538cabfa24f26b3536005bf2dd20cabe",
"cases/results/cases/browser/report.json": "3a0eb90e1c75e998f406a2d7ccd464f86b24a931165e290db74b4a028e6e71b5",
"cases/results/cases/browser-results.json": "c8c4141a9ae01e9e4f3715db7e85965efc553e67588f88be3e5b96248680671d",
"cases/results/cases/screenshots/001-student-editorial-grid-light.png": "9ddad2f8e2734ebfb58abf9937c851edc750669e3e0428c5b092cbdad8d55f74",
"cases/results/cases/screenshots/004-mobile-dark-single-column-keyboard.png": "76ce10b919e64e0f8d318fa1b6ea10a44a8fdf1a1601f240124fcb0517dd77e5",
"cases/results/forum184/browser/junit.xml": "1dfb534d214cf48af49bd3639a71cf004e5ab6581949ab59f53ab6086c802a48",
"cases/results/forum184/browser/report.json": "6a1fa56d017db4f805e562798924ea18bee5ab35ab8f0231d5f911f8b6c5f79a",
"cases/results/forum184/browser-results.json": "79aa1c5c7de9842ace64b0ce571868d49c8415cdf2e9f4cfd75b2ddd8971864a",
"cases/results/forum184/screenshots/003-issue184-light-1440-editor-materials-open.png": "423725704d57b65a92107c8798eefeb100914e0d8e2fc043428c382dec3c4791",
"cases/results/forum184/screenshots/022-issue184-dark-390-focus-long-body.png": "6874e3a0a23123480a6d8562c54e0e412c040575567d940deda5f6d873084623",
"cases/results/forum187/browser/junit.xml": "1736a652e1c4a73e67c2dadd4c4c9077adff22583ebfc254918cece1d98f2ed6",
"cases/results/forum187/browser/report.json": "ffad231ceb10ef22459c0ab22ff51da14ecdbd4c3ead03eaaf6516c844fd884d",
"cases/results/forum187/results.json": "74edd673edf3aec092c8ac332696196b1128be8e042bb5b3799855bfc95e979b",
"cases/results/forum187/screenshots/002-forum-scope-navigation-390.png": "487bb483a2bad616e677e5e62c49c2c5f3c24d3e57b5437d36aa5e5f1364f6a6",
"cases/results/forum187/screenshots/003-forum-scope-composer-mobile.png": "bb0f2c0485987d0cb3608c73cdab7dd4a9e8daac91a33fb7b09b8eacdc56eaf8",
"cases/summary.json": "7ed5b8c41f37d6c2d51eb65553b229b035aa17ac4f9cbba33e8172387dd772ba",
"provider-acceptance/20261019T110518Z/PUBLIC-SUMMARY.md": "8132d394ef53aca950c401a1e8474c586db3b96bce2d2aa6b452fca2891ed1d8",
"provider-acceptance/20261019T110518Z/live-summary.json": "80e92ad6758cf5d1e6840efda2ecae2c88886c9c4a7abc7030608558c2851425",
"provider-acceptance/20261019T110518Z/matrix-summary.json": "2b3f26e5b1007997f45828704eda2b1a554015ade632081c57a94f3e3cccf912",
"provider-acceptance/20261019T110518Z/provenance.json": "0f1aed2c1fffee18b18eb4636e62967596131189cd4105ae319dd517c9274879",
"provider-acceptance/20261019T111735Z-deadline-targeted/matrix-summary.json": "12e0bd8dc033661b1c3a24cbaa12f791e288293bf00ff5f890e2de73b2984373",
"provider-acceptance/20261019T111735Z-deadline-targeted/provenance.json": "0f1aed2c1fffee18b18eb4636e62967596131189cd4105ae319dd517c9274879",
"provider-acceptance/FINAL-SUMMARY.json": "96ba333ccba6f28e6b7dec02f7004308f3685ca9d4d89db53ee7cf1bca10abad",
"questionnaire/PUBLIC-SUMMARY.md": "95f37af2cbb70eefd1610a6acf40b5aa49f6bf7018ac2e093c239c8ba4a21b06",
"questionnaire/browser/junit.xml": "fb0fc271e0ed5035335db90d8d052a65c3fa19fcb0d2572884a66c3bc33e6465",
"questionnaire/browser/report.json": "6e95a500de0c2b56524c76954e6f3a1c7bcd3053143045ec39dd917e4efd8f12",
"questionnaire/execution-attempts.json": "025e63ca78c40638161b0b0ce5f653819d8bdfbe30cc3ca36ae885c9ec48ac45",
"questionnaire/questionnaire-resume-retry.png": "78c53b317fd18e2c3e4ecffd846d1ed31b1f16386dee1cfaa86a892d8278efc7",
"questionnaire/validation.json": "37cf7c524c784c32d23b8fec99f98a1bf9d5f4c2d9e130eaa113ca661e079824",
"release-state.json": "f5fa9555418657c34d8885d1906729e3fc77bc150e7a0315b3b3d5f3de90f6e9"
}
Loading
Loading