You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
superseded: task contracts moved to evaluation integration #335
changed the title [-]task: add a frozen shared task contract for engineering benchmarks[/-][+]task: share task inputs and evaluation rules across RSI consumers[/+]on Nov 3, 2026
changed the title [-]task: share task inputs and evaluation rules across RSI consumers[/-][+]task: define shared task contracts and canonical evaluation rules[/+]on Nov 4, 2026
changed the title [-]task: define shared task contracts and canonical evaluation rules[/-][+]task: share task contracts and NPU evaluation rules[/+]on Nov 4, 2026
changed the title [-]task: share task contracts and NPU evaluation rules[/-][+]superseded: task contracts moved to evaluation integration[/+]on Nov 4, 2026
Activity
agent-ci-infra-bot commentedon Nov 3, 2026
本 Issue 是 #252 的子项 02:交付首版冻结任务契约(TaskPackage、task/grader/candidate/runtime 身份冻结、check/measure/profile 分离),并把是否接受该范围交由 @Dong1017 决定。结论:需要人工决策——依赖的范围决定与验收证据尚未落地,Issue 自身没有显式请求代码改动。Labels: kind:task, area:workbench, status:proposed, priority:P2(有界交付任务、属于 workbench 基准线、状态块有具体待决问题且无已记录决定;priority 为猜测)。
F1 — 高,需修复,交付物未与评审对象绑定
663f3b3上,Issue 列出的src/inferrsi/harness/benchmarks/contract.py、worker.py、cli.py和docs/plans/issue-252/02-contract.md都不存在:git ls-files中harness/benchmarks与issue-252匹配数为 0,src/inferrsi/harness/下只有 README、evaluation、runner 等既有文件。同一批实现已出现在 Draft PR feat: add shared engineering task evaluation and Ascend RMSNorm #338(headd0ce9d7,基于663f3b3,33 个文件)中;兄弟子项 superseded: benchmark research moved to task library and integration #334/tracking: grow reusable engineering optimization tasks #336/task: connect engineering tasks to existing Agent execution and evaluation #337 都写明“实现和对应说明已提交 Draft PR feat: add shared engineering task evaluation and Ascend RMSNorm #338”并附快照 SHA,只有本 Issue 仍写“准备提交 Draft PR”,没有 PR 号或修订。docs/plans/issue-252/validation.md;若计划拆成多个 PR,写明预期 PR 与各自包含的文件。F2 — 高,需人工决策,依赖的范围决定未记录且四个子项被一次性交付
kind:task/area:workbench/priority:P2/status:proposed,仅有自动评审评论,没有 @Dong1017 的接受或推迟记录;其评审本身也要求决策人先记录决定。PR feat: add shared engineering task evaluation and Ascend RMSNorm #338 用Refs #334–#337同时交付四个子项,本 Issue 的第 3 条验收“两个消费者读取同一任务身份,使用现有执行器”又与 task: connect engineering tasks to existing Agent execution and evaluation #337 的消费者接入切片重叠。F3 — 中,需修复,验证结果缺少可定位记录
validation.md与validation-summary.json,列明实际执行的命令、环境和结果,并说明完整回归未通过项的基线复现方式;把 26 项专项测试与完整回归分开陈述。F4 — 中,需修复,未在 Issue 记录候选代码执行为非隔离
src/inferrsi/harness/benchmarks/numpy_task.py:74用exec(compile(source, "implementation.py", "exec"), namespace)直接加载候选源码,身份哈希只保证内容不变、不提供隔离。PR feat: add shared engineering task evaluation and Ascend RMSNorm #338 正文与docs/plans/issue-252/02-contract.md明确写“hostile-code sandboxing … not established”“哈希冻结不是恶意代码隔离”,但本 Issue 的 Checks and limits 没有这一条。Reviewed commit: 663f3b3
Coverage: Checkout: 2645 files at 663f3b3 in a git worktree with the repository's history
agent-ci-infra-bot commentedon Nov 3, 2026
本 Issue 请求为工程基准建立首版冻结共享契约(TaskPackage、task/grader/candidate/runtime 身份冻结、check/measure/profile 分离),让 Workbench 与离线评估读取同一任务事实;更新后的正文已把实现绑定到 Draft PR #338(head
d0ce9d78)和固定 SHA 的验证记录。核验:快照与 PR head 一致,交付文件与 26 项参数化专项用例确实存在,PR 的 full-check 3.10/3.11、installed-package 3.10/3.11 检查为成功;但验收仍取决于 #334 的范围决定,且 PR #338 上 @Dong1017 的 P2 评审指出计时输入复用同一数组,本 Issue 的复选框未覆盖该测量有效性风险。结论:需要人工决策(human decision required),Issue 未显式请求代码改动。Earlier bot findings:F1 fixed(正文已链接 PR #338 与
d0ce9d78);F3 fixed(validation.md/validation-summary.json已按固定 SHA 链接);F2 open(#334 仍为status:proposed,无决定记录;#334–#337 仍由一个 PR 交付);F4 open(Checks and limits 仍未写明候选代码无隔离、无资源限制)。Labels: kind:task, area:workbench, status:proposed, priority:P2(有界交付任务、workbench 基准线、状态块有具体待决问题且无已记录决定;priority 为猜测,沿用 #334)。
F5 — 高,验收前需解决或明确约束 — 计时复用同一输入对象,记忆化候选可被计成加速
d0ce9d785e1bead9124eed1cf3f6e9f2e0cf05db:src/inferrsi/harness/benchmarks/numpy_task.py:94预检调用compute(x, ...),:97把同一个x对象放入prepared,:119-125的 warmup/sample 循环对同一数组对象重复调用;同一问题已由 @Dong1017 在该文件第 125 行锚定(PR feat: add shared engineering task evaluation and Ascend RMSNorm #338 评审,2026-11-03T15:00:54Z)。x对象和内容。候选只要按id(x)或内容缓存返回值,每次调用都返回正确输出,能通过全部数值与输入保持断言,而计时大部分量到的是查表/回放而非算子计算。现有回归tests/test_engineering_benchmarks.py::test_checks_repeated_timed_calls_not_only_initial_call只覆盖“输出变错”的候选,不覆盖“输出正确但被缓存”的候选。functools.lru_cache、以输入内容/id 为键的字典缓存,或保留上次结果;baseline 不缓存时对比更明显。suite_latency_ms(aggregation = sum-of-per-case-medians)低估候选耗时,Workbench/SkillEval 的 A/B 可得出伪造加速,恰好落在本 Issue 勾选的“冻结…测量规则”“两个消费者读取同一任务身份/测量规则”核心上。docs/plans/issue-252/02-contract.md、任务coverage与本 Issue 的 Checks and limits 写明“重复输入不防缓存回放”,并把验收结论限定在此范围。F2 — 高,仍需人工决策(沿用上一轮编号)— 依赖的范围决定未记录,四个子项仍由一个 PR 交付
status:proposed(唯一评论是上一轮自动评审);PR feat: add shared engineering task evaluation and Ascend RMSNorm #338 正文Refs #334–#337。kind:task子项,superseded: task contracts moved to evaluation integration #335 的契约验收无法与选型、任务包、消费者接入分开判断。F4 — 中,仍需修复(沿用上一轮编号)— Checks and limits 仍未写明候选代码无隔离、无资源限制
src/inferrsi/harness/benchmarks/numpy_task.py:74用exec(compile(source, "implementation.py", "exec"), namespace)直接加载候选源码。docs/plans/issue-252/02-contract.md已写“hostile-code sandboxing … not established”。F6 — 中,需人工决定 — grader 身份覆盖整个
harness/benchmarks包,而非仅判分实现src/inferrsi/harness/benchmarks/contract.py:33-34(grader_digest()对Path(__file__).parent做整树哈希)、:77-79(assert_unchanged比对)、:82-89(identity()写入grader_sha256)、worker.py:37,42(执行前后各比对一次)。contract.py、worker.py、cli.py、consumers.py、numpy_task.py、skill_verifier.py等全部模块;任何后续修改(例如新增 CLI 选项或 adapter)都会改写所有任务的grader_sha256,使留存产物中的身份比对变为“changed”。src/inferrsi/harness/benchmarks/下任意文件后重放既有验证产物。docs/plans/issue-252/02-contract.md明确冻结范围;若只想冻结判分语义,改为只哈希判分实现(如numpy_task.py与 oracle 相关文件);若确为包级冻结,则写入任务coverage与本 Issue 限制,供后续消费者遵循。Reviewed commit: 663f3b3
Coverage: Checkout: 2645 files at 663f3b3 in a git worktree with the repository's history
[-]task: add a frozen shared task contract for engineering benchmarks[/-][+]task: share task inputs and evaluation rules across RSI consumers[/+]agent-ci-infra-bot commentedon Nov 3, 2026
本 Issue 是 #252 的子项 02:要求把任务包、候选入口、check/measure/profile 与内容冻结固化为一份共享契约,并请 @Dong1017 记录是否接受该范围。本轮编辑在正文顶部新增了交付说明段,并把说明链接指向 PR #338 的新 head
ac03ae23;我在该 head 上核验:F5(计时输入复用同一对象)已由numpy-axis1-v2变化输入协议修复,tests/test_engineering_benchmarks.py以安装包方式运行 40 passed,hosted checks 全部 success;但 F2、F4、F6 仍无记录,且正文现在同时钉住 v1 与 v2 两个快照。结论:需要人工决策,Issue 自身未显式请求代码改动。Earlier findings: F1 fixed;F3 fixed;F5 fixed(v2 逐次不同输入 + 每样本输入哈希,numpy_task.py:102-118、:187-190);F2 open;F4 open;F6 open。F7 — 高(需修复)— 正文同时钉住 v1 与 v2 两个快照,验收对象无法确定
本子项说明/总任务及四项分工链接指向ac03ae23,而源码快照 d0ce9d78…、Inputs and deliverables四个链接、公开结果见 验证记录/原始汇总仍指向d0ce9d78;Checks and limits仍写首个 adapter 为 numpy-axis1-v1与“26 项专项回归”。ac03ae23(4 个提交),其contract.py:183只接受numpy-axis1-v2,两个task.json也声明numpy-axis1-v2;该 head 的validation.md:3明确写“本页保留 v1 历史运行…不能代表后续 v2 变化输入协议”,当前证据改在replay-validation.md:17(“40 项通过”)。正文现在把一个已改语义的契约按两个提交混写:v1 是重复输入、26 项回归,v2 是逐次变化输入、40 项回归,且 grader 身份与计时 case 数均已变化。validation.md当作 v2 契约的证据,会让“冻结的测量规则”这一勾选项对应到已被修复的旧协议。ac03ae23:更新源码快照、Inputs 链接、公开结果(改为replay-validation.md+replay-validation-summary.json)、adapter 名numpy-axis1-v2与专项用例数(40);或整体保留d0ce9d78并删除本轮新增的ac03ae23链接,同时在正文写明被接受的修订版。F2 — 高(需人工决策,沿用上一轮编号)— 依赖的范围决定仍未记录,四个子项仍由一个 PR 交付
Plan and implementation第 1 条写明“依赖子项 01 的范围决策”;superseded: benchmark research moved to task library and integration #334 当前仍为 open +status:proposed,两条评论都来自自动评审,没有 @Dong1017 的接受或推迟记录;PR feat: add shared engineering task evaluation and Ascend RMSNorm #338 正文仍写Refs #334–Refs #337。kind:task子项,superseded: task contracts moved to evaluation integration #335 的契约验收无法与选型、任务包、消费者接入分开判断。F4 — 中(需修复,沿用上一轮编号)— Checks and limits 仍未写明候选代码无隔离、无资源上限
Checks and limits段。exec运行(numpy_task.py:85),哈希冻结只证明内容不变、不提供隔离。PR feat: add shared engineering task evaluation and Ascend RMSNorm #338 的 head 已多处写明同一限制:cli.py:25的候选参数帮助写着 “no security sandbox”,consumers.py:14写 “not an untrusted-code sandbox”,task.json的 coverage 写 “no hostile-agent isolation”,replay-validation.md也写“不提供恶意代码隔离或隐藏测试”;只有本 Issue 的限制清单缺失这一条。Checks and limits补一句:候选代码在现有执行器/子进程中运行,没有恶意代码隔离与资源上限,属未覆盖范围。F6 — 中(需人工决定,沿用上一轮编号)— grader 身份覆盖整个
harness/benchmarks包,而非仅判分实现contract.py:33-34(grader_digest()对Path(__file__).parent整树哈希)、:78-80(assert_unchanged)、:87-93(identity()写入grader_sha256)、worker.py:37,42(执行前后各比对一次)、skill_verifier.py:35(保留产物身份变化即报错)。contract.py、worker.py、cli.py、consumers.py、numpy_task.py、skill_verifier.py等全部模块。ac03ae23为修复 F5 只改了numpy_task.py,两个任务的 grader 身份就整体变化(replay-validation.md记录“任务、grader 身份和指标的五 case 聚合均已变化”);今后任何 CLI 选项或消费者改动都会让所有留存的identity.json与产物验证变为“changed”。src/inferrsi/harness/benchmarks/下任意文件后重放或复核既有验证产物时。02-contract.md只写“用内容哈希冻结包、grader 和候选”,没有说明这一范围,验收人无法据正文作出判断。02-contract.md与本 Issue 的限制中写明冻结范围为整个harness/benchmarks包及其后果;若要冻结的只是判分语义,改为只哈希判分与 oracle 相关实现(如numpy_task.py及 oracle 常量)。Reviewed commit: 663f3b3
Coverage: Checkout: 2645 files at 663f3b3 in a git worktree with the repository's history
[-]task: share task inputs and evaluation rules across RSI consumers[/-][+]task: define shared task contracts and canonical evaluation rules[/+][-]task: define shared task contracts and canonical evaluation rules[/-][+]task: share task contracts and NPU evaluation rules[/+][-]task: share task contracts and NPU evaluation rules[/-][+]superseded: task contracts moved to evaluation integration[/+]Bounty-hunter commentedon Nov 4, 2026
范围合并说明:接口随接入和任务实现继续进行
用户已明确要求按两项工作整理,并关闭不再独立跟踪的旧 Issue。本 Issue 以 not planned 关闭,表示分工合并,不表示全部功能已完成或项目已验收。
flowchart LR A["#335 共享接口"] --> B["#336 题包契约与任务适配"] A --> C["#337 执行、产物与结果接入"] A --> D["旧 Issue 结束独立跟踪"]范围与证据身份
文档整理版本
125b06451a487e76a1c20c45abe4e22cd8631d68;NPU 实测源码仍为6308268fc6d1fbf90e9ab97b5da8af79152f39ea。当前变更仅文档和任务组织。Canonical-loader 的具体 finding 已获原 reviewer 清除,不等于整个 PR 获批。本次关闭依据是用户对范围合并与弃用项关闭的明确委托。没有新的 accepted implementation revision;#252、#336、#337 的项目接受/验收和 #338 合并仍分别记录。关闭不删除原讨论、研究、历史运行或失败记录。执行人为 Codex,accountable implementer 为 @Bounty-hunter。