fix(release): make openEuler validation self-contained for v1.3.11 Problem source: v1.3.10 release-hardening Office tests depended on external Office materials and workstation-provided python-docx/python-pptx availability. Fixes: generate temporary DOCX fixtures inside release-hardening tests declare python-docx and python-pptx as release validation dependencies install and verify Office dependencies in scripts/install_openeuler.sh decouple release material table helpers from document updater wiring update corresponding tests and release artifacts Version: 1.3.11 source_tree_sha256=d8518e39e74c3a335922699ae2dd540cbeb8df8236a6ec822df2d4da3a25f00d submission_tree_sha256=409f70bdc2ba8821f2c70919dd0beeea1f5852358da61013da3f83f36782fdd1 Validation: 154 passed, 0 failed Wheel/PYZ isolation: 12 task regression passed for both artifacts Benchmark: 8 campaigns, 4 modes, 384 observations, contract errors=[]
fix(release): make openEuler validation self-contained for v1.3.11
Problem source:
Fixes:
Version: 1.3.11 source_tree_sha256=d8518e39e74c3a335922699ae2dd540cbeb8df8236a6ec822df2d4da3a25f00d submission_tree_sha256=409f70bdc2ba8821f2c70919dd0beeea1f5852358da61013da3f83f36782fdd1
Validation: 154 passed, 0 failed Wheel/PYZ isolation: 12 task regression passed for both artifacts Benchmark: 8 campaigns, 4 modes, 384 observations, contract errors=[]
低熵协同 · 应用创新赛道第 10 题作品全称:面向多智能体协作的低开销通信、状态传递与共享记忆运行时
artifacts/openeuler/
d8518e39e74c3a335922699ae2dd540cbeb8df8236a6ec822df2d4da3a25f00d
409f70bdc2ba8821f2c70919dd0beeea1f5852358da61013da3f83f36782fdd1
MemLink-OS 将多智能体协作拆分为控制面、数据面和经验面:32 字节 MLP 帧 + MessagePack;1536 维 float32 feature-hashing 状态的 binary/mmap 路由;SQLite WAL + FTS5 + 向量召回 + 连续意图与证据冲突拒绝。Planner、Retriever、Executor、Reporter 四个独立 Agent 由 Runtime 统一完成 HELLO 能力发现、DAG 调度、Trace、会话状态清理和故障恢复。Executor 使用状态完成证据排序与假设选择;Reporter 独立重算证据—状态一致性并据此校准报告置信度,形成两个功能性消费者。
float32
mmap
每个 action 显式声明 idempotent / max_retries / side_effects;只有幂等动作可自动重试,非幂等动作丢失响应时返回 outcome_unknown。Runtime 会拒绝重复 action 注册,并在启动握手失败时事务化回滚已启动进程和共享状态会话。
idempotent / max_retries / side_effects
outcome_unknown
memlink/agents/
memlink/protocol.py
memlink/benchmark.py
/dev/shm
memlink/shared_state.py
memlink/transport.py
memlink/agents/reporter.py
memlink/memory.py
data/task_sets.json
artifacts/benchmark/
python3 -m venv .venv . .venv/bin/activate python -m pip install -r requirements-lock.txt python -m pip install -e . memlink doctor memlink demo --mode structured --memory --task-index 0
串行独立 campaign 的完整实验:
rm -rf artifacts/benchmark python scripts/run_release_benchmarks.py --output artifacts/benchmark --campaigns 8 --rounds 12 --repetitions 1 --seed 20260723 --warmup-tasks 1 --pause-seconds 1 --config configs/benchmark.yaml --quiet python scripts/run_extended_experiments.py python scripts/generate_figures.py
state_consumption
statistics.median
numpy.quantile(method=linear)
summary.json
环境:Debian GNU/Linux 13 (trixie),内核 6.12.13,Python 3.13.5。合并 8 个独立实验 campaign,每种模式共 8 次重复,总计 384 条任务观测。
端到端配对平均绝对时延差为 92.62 ms,campaign→task 分层 bootstrap 95% CI [49.05, 137.46] ms。P50 使用 statistics.median,P95 使用 numpy.quantile(method=linear)。wire_bytes 仅表示应用层 IPC 帧字节;token equivalent 只是字符代理估算。
wire_bytes
explicit_follow_up
按任务类型拆分 Memory vs No Memory 的配对时延:
正向且通过安全门的可复用任务是主要收益来源;初始任务和冲突负样本可能承担一次记忆查询与拒绝校验的固定开销。核心检索代码不包含 benchmark 业务关键词列表;演示领域结论位于可替换 scenario profile。
主任务 1536 维状态为 6144 B,完整分析链有两个功能性下游消费者:Executor 使用状态完成证据排序与假设选择,Reporter 独立完成证据一致性校验与置信度校准;成本模型实际选择 shared_memory。主实验按成功 ACK 统计 state_consumer_reads,并同时公开 state_objects_published、state_bytes_allocated 与 state_logical_bytes_read。扫描覆盖 384/1536/4096/16384 维和 1/2/4/8 消费者,实际后端为 /dev/shm tmpfs。
shared_memory
state_consumer_reads
state_objects_published
state_bytes_allocated
state_logical_bytes_read
同主题线性扫描在 10,000 条记忆时 P50/P95 为 120.38/179.40 ms;后续方向是 ANN、候选分片和冷热分层。
当前自动化测试:154 passed,语句覆盖率 **87%**。Wheel 与单文件 PYZ 均在脱离源码树的临时目录完成 12 任务回归。
python scripts/build_executable.py python scripts/verify_release_artifacts.py python scripts/submission_preflight.py --strict --run-tests
artifacts/openeuler/ 是 v1.3.11 精确证据唯一入口。最终提交前在 openEuler 24.03-LTS-SP3 目标环境执行:
bash scripts/install_openeuler.sh bash scripts/capture_openeuler_evidence.sh
采集脚本会清空旧目录,并记录 git_available / git_commit / git_clean / git_status、版本、源码树、提交树和环境类型。无 Git 仓库时,git_clean 为 null,不会把“无法判断”误报为“干净”。只有版本、源码树、提交树、测试和目标用户态状态全部匹配时,严格预检才将证据判为精确。
git_available / git_commit / git_clean / git_status
git_clean
null
项目使用 Apache License 2.0。第三方版本、用途和许可证见 THIRD_PARTY_NOTICES.md;精确依赖见 requirements-lock.txt。
THIRD_PARTY_NOTICES.md
requirements-lock.txt
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
MemLink-OS
低熵协同 · 应用创新赛道第 10 题
作品全称:面向多智能体协作的低开销通信、状态传递与共享记忆运行时
artifacts/openeuler/是与当前版本、源码树和提交树精确匹配的唯一入口;环境类型以 doctor.json 和 SOURCE_REVISION.json 为准d8518e39e74c3a335922699ae2dd540cbeb8df8236a6ec822df2d4da3a25f00d409f70bdc2ba8821f2c70919dd0beeea1f5852358da61013da3f83f36782fdd11. 项目定位
MemLink-OS 将多智能体协作拆分为控制面、数据面和经验面:32 字节 MLP 帧 + MessagePack;1536 维
float32feature-hashing 状态的 binary/mmap路由;SQLite WAL + FTS5 + 向量召回 + 连续意图与证据冲突拒绝。Planner、Retriever、Executor、Reporter 四个独立 Agent 由 Runtime 统一完成 HELLO 能力发现、DAG 调度、Trace、会话状态清理和故障恢复。Executor 使用状态完成证据排序与假设选择;Reporter 独立重算证据—状态一致性并据此校准报告置信度,形成两个功能性消费者。每个 action 显式声明
idempotent / max_retries / side_effects;只有幂等动作可自动重试,非幂等动作丢失响应时返回outcome_unknown。Runtime 会拒绝重复 action 注册,并在启动握手失败时事务化回滚已启动进程和共享状态会话。2. 赛题映射
memlink/agents/memlink/protocol.pymemlink/benchmark.py/dev/shmmmap 自适应;Executor 分析 + Reporter 独立一致性校验memlink/shared_state.py、memlink/transport.py、memlink/agents/reporter.pymemlink/memory.pydata/task_sets.jsonartifacts/benchmark/artifacts/openeuler/3. 快速运行
串行独立 campaign 的完整实验:
4. 公平实验设计
/dev/shm,记录挂载类型、tmpfs 状态和回退原因。state_consumptionACK 计数:分别报告发布对象数、成功消费次数、分配字节和逻辑读取字节;不把任务拓扑中的计划消费者数当作实测读取次数。statistics.median、P95=numpy.quantile(method=linear),并写入summary.json,避免偶数样本的下侧 nearest-rank 偏差。5. 主实验结果
环境:Debian GNU/Linux 13 (trixie),内核 6.12.13,Python 3.13.5。合并 8 个独立实验 campaign,每种模式共 8 次重复,总计 384 条任务观测。
端到端配对平均绝对时延差为 92.62 ms,campaign→task 分层 bootstrap 95% CI [49.05, 137.46] ms。P50 使用
statistics.median,P95 使用numpy.quantile(method=linear)。wire_bytes仅表示应用层 IPC 帧字节;token equivalent 只是字符代理估算。6. 记忆安全与纯文本泛化
explicit_follow_up真值):96 条决策,F1 1.00,错误复用率 **0%**。explicit_follow_up真值):96 条决策,F1 1.00,错误复用率 **0%**。按任务类型拆分 Memory vs No Memory 的配对时延:
正向且通过安全门的可复用任务是主要收益来源;初始任务和冲突负样本可能承担一次记忆查询与拒绝校验的固定开销。核心检索代码不包含 benchmark 业务关键词列表;演示领域结论位于可替换 scenario profile。
7. 状态与规模边界
主任务 1536 维状态为 6144 B,完整分析链有两个功能性下游消费者:Executor 使用状态完成证据排序与假设选择,Reporter 独立完成证据一致性校验与置信度校准;成本模型实际选择
shared_memory。主实验按成功 ACK 统计state_consumer_reads,并同时公开state_objects_published、state_bytes_allocated与state_logical_bytes_read。扫描覆盖 384/1536/4096/16384 维和 1/2/4/8 消费者,实际后端为/dev/shmtmpfs。同主题线性扫描在 10,000 条记忆时 P50/P95 为 120.38/179.40 ms;后续方向是 ANN、候选分片和冷热分层。
8. 自动化与可执行物
当前自动化测试:154 passed,语句覆盖率 **87%**。Wheel 与单文件 PYZ 均在脱离源码树的临时目录完成 12 任务回归。
9. openEuler 目标环境
artifacts/openeuler/是 v1.3.11 精确证据唯一入口。最终提交前在 openEuler 24.03-LTS-SP3 目标环境执行:采集脚本会清空旧目录,并记录
git_available / git_commit / git_clean / git_status、版本、源码树、提交树和环境类型。无 Git 仓库时,git_clean为null,不会把“无法判断”误报为“干净”。只有版本、源码树、提交树、测试和目标用户态状态全部匹配时,严格预检才将证据判为精确。10. 已知边界
11. 许可证
项目使用 Apache License 2.0。第三方版本、用途和许可证见
THIRD_PARTY_NOTICES.md;精确依赖见requirements-lock.txt。