迭代批量安排酒店

This commit is contained in:
andy committed 2026-09-24 14:43:08 +08:00
1 parent 4cfbefffe8
commit c2c71d35af
48 files changed
+5670 -57

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
# 2026-09-24 验证证据
以下为历史验证记录,不代表当前业务规则。
- [同团批量酒店本地验证](hotel-batch-01a0858b/README.md)
@@ -0,0 +1,23 @@
# 同团批量酒店本地验证
本目录保存 2026-09-24 此次版本验证,不作为当前规则来源;当前契约以活动源码和发布清单为准。本次未部署、重启、扩展重载、真实 ERP 写入或外部发消息。
## 结果
- 控制面测试:299/299 通过,见 [输出](control-plane-tests.txt)。
- 插件及兼容回归:447/447 通过,见 [输出](legacy-tests.txt)。覆盖普通单条、五段输入、整批拒绝非法输入、串行执行、成功前缀持久化、失败/不确定停止、超时保存证据、只读收敛不续写、执行中父结果不误报未写入。
- `node --run check`、`node --run build`:退出码 0;未手改编译输出。
- `check:repo`:干净源码副本 10/10 通过,含版本/哈希、ZIP 与源码逐文件比对、DOCX 单一源和活动链接,见 [输出](repository-clean-tests.txt)。
- 原工作目录保留既有 `.idea/`、`.DS_Store` 和 2026-09-14 历史 `.log`,因此其仓库卫生检查有两个既有失败,见 [原目录结果](repository-local-residue.txt)。副本来自当前受控源码和本次新文件,仅排除这些原有杂项、秘密配置及可重建输出;不修改检查断言来放行杂项。
- 按 Docker runtime COPY 布局隔离加载编译产物与共享模块,程序解析两条酒店成功;没有 DB/ERP 连接。见 [运行布局验证](runtime-layout-smoke.txt)。没有执行完整 Docker 镜像构建。
## DOCX 全页视觉检查
- 由现有 Markdown 和生成器重建指令表 0.5.137,使用 bundled LibreOffice/Poppler 与中文字体配置。
- 18 页 PNG 全部逐页打开检查,中文正常,无方框字、截断或重叠;酒店新增示例位于第 8—9 页,参见 [第 8 页](docx-page-8.png)、[第 9 页](docx-page-9.png)。沿用原文档布局和样式。
- 已验证 DOCX SHA-256:`64846b40722d5c3c3807868f990c5781e77c746fc7f9f115ccfca1a74beb786e`。
- 运营文档批量示例由测试直接读取并解析,验证三条安排及跨多晚日期没有被拆分。
## 验证边界
浏览器执行编排测试使用本地 VM 与合成 ERP 成功/失败回执;页面原生单条行为依赖既有适配器回归。真实团队多酒店保存、资源候选和页面速度需更新服务端/平台/插件后在授权环境验收。数据库 schema 未变,无新增迁移。
File diff suppressed because it is too large. Load diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

File diff suppressed because it is too large. Load diff
@@ -0,0 +1,70 @@
TAP version 13
# Subtest: root contains only governed long-lived entries
ok 1 - root contains only governed long-lived entries
---
duration_ms: 56.801042
type: 'test'
...
# Subtest: project docs are the sole active project memory
ok 2 - project docs are the sole active project memory
---
duration_ms: 18.133583
type: 'test'
...
# Subtest: temporary residue and report outputs do not pollute the repository
ok 3 - temporary residue and report outputs do not pollute the repository
---
duration_ms: 286.1865
type: 'test'
...
# Subtest: dist is an exact versioned release set with valid hashes
ok 4 - dist is an exact versioned release set with valid hashes
---
duration_ms: 17.027209
type: 'test'
...
# Subtest: extension and release baselines agree
ok 5 - extension and release baselines agree
---
duration_ms: 217.44
type: 'test'
...
# Subtest: packaged Skills and extension runtime match their project sources
ok 6 - packaged Skills and extension runtime match their project sources
---
duration_ms: 1279.993542
type: 'test'
...
# Subtest: active Markdown links resolve and current docs do not depend on rolling history
ok 7 - active Markdown links resolve and current docs do not depend on rolling history
---
duration_ms: 465.839542
type: 'test'
...
# Subtest: archive README indexes remain navigable
ok 8 - archive README indexes remain navigable
---
duration_ms: 375.876166
type: 'test'
...
# Subtest: single-source and generated-output boundaries remain explicit
ok 9 - single-source and generated-output boundaries remain explicit
---
duration_ms: 12.060458
type: 'test'
...
# Subtest: runtime image includes both LibreOffice document converters
ok 10 - runtime image includes both LibreOffice document converters
---
duration_ms: 0.917292
type: 'test'
...
1..10
# tests 10
# suites 0
# pass 10
# fail 0
# cancelled 0
# skipped 0
# todo 0
# duration_ms 3102.947542
@@ -0,0 +1,132 @@
TAP version 13
# Subtest: root contains only governed long-lived entries
not ok 1 - root contains only governed long-lived entries
---
duration_ms: 5.167042
type: 'test'
location: '/Users/andy/IdeaProjects/LWLT-AIBOT/tools/repository-hygiene.test.mjs:111:1'
failureType: 'testCodeFailure'
error: |-
Expected values to be strictly deep-equal:
+ actual - expected
+ [
+ '.DS_Store',
+ '.idea'
+ ]
- []
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected:
actual:
0: '.DS_Store'
1: '.idea'
operator: 'deepStrictEqual'
stack: |-
TestContext.<anonymous> (file:///Users/andy/IdeaProjects/LWLT-AIBOT/tools/repository-hygiene.test.mjs:114:10)
async Test.run (node:internal/test_runner/test:1054:7)
async startSubtestAfterBootstrap (node:internal/test_runner/harness:296:3)
...
# Subtest: project docs are the sole active project memory
ok 2 - project docs are the sole active project memory
---
duration_ms: 4.306292
type: 'test'
...
# Subtest: temporary residue and report outputs do not pollute the repository
not ok 3 - temporary residue and report outputs do not pollute the repository
---
duration_ms: 346.891167
type: 'test'
location: '/Users/andy/IdeaProjects/LWLT-AIBOT/tools/repository-hygiene.test.mjs:149:1'
failureType: 'testCodeFailure'
error: |-
Expected values to be strictly deep-equal:
+ actual - expected
+ [
+ '.DS_Store',
+ 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/build.log',
+ 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/control-plane-tests.log',
+ 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/focused-tests.log',
+ 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/legacy-tests.log',
+ 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/repository-clean.log',
+ 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/repository-local-metadata.log',
+ 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/runtime-layout-smoke.log',
+ 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/typecheck.log',
+ 'chrome-extension/.DS_Store'
+ ]
- []
code: 'ERR_ASSERTION'
name: 'AssertionError'
expected:
actual:
0: '.DS_Store'
1: 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/build.log'
2: 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/control-plane-tests.log'
3: 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/focused-tests.log'
4: 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/legacy-tests.log'
5: 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/repository-clean.log'
6: 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/repository-local-metadata.log'
7: 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/runtime-layout-smoke.log'
8: 'archive/evidence/2026-09-14/arrangement-original-date-year-01a0858b/typecheck.log'
9: 'chrome-extension/.DS_Store'
operator: 'deepStrictEqual'
stack: |-
TestContext.<anonymous> (file:///Users/andy/IdeaProjects/LWLT-AIBOT/tools/repository-hygiene.test.mjs:153:10)
async Test.run (node:internal/test_runner/test:1054:7)
async Test.processPendingSubtests (node:internal/test_runner/test:744:7)
...
# Subtest: dist is an exact versioned release set with valid hashes
ok 4 - dist is an exact versioned release set with valid hashes
---
duration_ms: 113.312
type: 'test'
...
# Subtest: extension and release baselines agree
ok 5 - extension and release baselines agree
---
duration_ms: 17.245958
type: 'test'
...
# Subtest: packaged Skills and extension runtime match their project sources
ok 6 - packaged Skills and extension runtime match their project sources
---
duration_ms: 910.900667
type: 'test'
...
# Subtest: active Markdown links resolve and current docs do not depend on rolling history
ok 7 - active Markdown links resolve and current docs do not depend on rolling history
---
duration_ms: 725.7125
type: 'test'
...
# Subtest: archive README indexes remain navigable
ok 8 - archive README indexes remain navigable
---
duration_ms: 174.902458
type: 'test'
...
# Subtest: single-source and generated-output boundaries remain explicit
ok 9 - single-source and generated-output boundaries remain explicit
---
duration_ms: 5.070916
type: 'test'
...
# Subtest: runtime image includes both LibreOffice document converters
ok 10 - runtime image includes both LibreOffice document converters
---
duration_ms: 0.831625
type: 'test'
...
1..10
# tests 10
# suites 0
# pass 8
# fail 2
# cancelled 0
# skipped 0
# todo 0
# duration_ms 2544.066833
@@ -0,0 +1 @@
PASS: compiled control plane imports and batch parser work with only Docker runtime COPY dependencies; no DB or ERP connection.
+5
View File
@@ -0,0 +1,5 @@
# 2026-09-24 发布归档
本目录只供历史追溯,不代表当前规则。
- [同团批量酒店发布前交付物](hotel-batch-01a0858b/README.md)
@@ -0,0 +1,6 @@
# 批量酒店发布前交付物归档
这些文件仅供历史追溯,不代表当前业务规则或发布版本。当前交付物以 [release-manifest.json](../../../../dist/release-manifest.json) 为准。
- [Chrome 插件 0.5.189](ltjt-order-assistant-0.5.189.zip):归档前逐字节核对原发布清单 SHA-256,无源码重建或覆盖。
- [运营指令表 0.5.136](老挝联泰AI指令表-0.5.136.docx):保留新批量示例加入前的完整文档。