Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
b16dc9f
feat: preserve persona templates and repair unsupported sentences
leafliber Oct 10, 2026
695c96d
fix: tighten persona evidence boundaries after first evaluation
leafliber Oct 10, 2026
5577887
fix: constrain persona claims to completed and scoped evidence
leafliber Oct 10, 2026
654d134
Merge origin/main into feat/persona-opt
leafliber Oct 11, 2026
a35a30f
fix: constrain persona repairs to bound evidence text
leafliber Oct 11, 2026
a438ce5
Merge origin/main into feat/persona-opt for PO3
leafliber Oct 11, 2026
ed4a62c
fix: persona 分句证据核对与评测有效性保护
leafliber Oct 11, 2026
ac030b1
fix: persona 从原话核对完成状态与活动范围
leafliber Oct 11, 2026
45a7433
fix: bind persona scope and completion checks to original evidence
leafliber Oct 11, 2026
a9f4162
fix: require clause-local persona proofs within one check budget
leafliber Oct 12, 2026
08ba9f8
Merge origin/main into feat/persona-opt
leafliber Oct 12, 2026
4cb4879
fix: bound serial persona check stages without resetting request budgets
leafliber Oct 12, 2026
395d19c
test: keep persona visibility fixture within single-event scope
leafliber Oct 12, 2026
dc254b2
fix: bound persona proof workload and skip invalid repair rechecks
leafliber Oct 12, 2026
143d4c0
fix: bound persona repair work and isolate sentence check failures
leafliber Oct 12, 2026
d846763
fix: budget persona checks for all bounded batches
leafliber Oct 12, 2026
35e4575
refactor: use a concise dedicated persona generation prompt
leafliber Oct 12, 2026
1557d36
refactor: simplify persona clause checking instructions
leafliber Oct 12, 2026
919b3f2
fix: distinguish persona fact checks from degree-only requests
leafliber Oct 12, 2026
4c0371b
fix: bound persona proof windows and prefilter invalid repairs
leafliber Oct 12, 2026
f396a82
fix: bound persona output budgets and reject incomplete checks
leafliber Oct 12, 2026
402d45c
Merge origin/main into feat/persona-opt
leafliber Oct 12, 2026
d3df044
fix: bind persona proofs and enforce content eligibility
leafliber Oct 12, 2026
7fe7013
fix: preserve persona evaluation progress before interruption
leafliber Oct 12, 2026
3ba7347
fix: leave output budget for persona generation after reasoning
leafliber Oct 12, 2026
a5076cc
fix: distinguish complete persona rejection from unchecked acceptance
leafliber Oct 12, 2026
dd742c8
docs: record PO3 persona handoff before device migration
leafliber Oct 12, 2026
576c0de
Merge origin/main into feat/persona-opt after device migration
leafliber Oct 12, 2026
39647ef
fix: ground persona model requests in original evidence
leafliber Oct 12, 2026
36d812d
fix: bound persona rejection checks and preserve interrupted output
leafliber Oct 12, 2026
f1c952c
fix: validate complete persona proofs independently of stop hints
leafliber Oct 12, 2026
5b076b6
fix: clarify persona focus scope and preserve revision constraints
leafliber Oct 12, 2026
928d725
fix: reserve bounded reasoning headroom for persona checks
leafliber Oct 12, 2026
0c7bf69
fix: require independent event scope in persona sentences
leafliber Oct 12, 2026
a75cd57
fix: preserve activity scope in persona generalizations
leafliber Oct 12, 2026
c641f70
fix: check persona scope before factual entailment
leafliber Oct 12, 2026
30e390a
fix(persona): validate complete extra focus responses without losing …
leafliber Oct 12, 2026
88b784f
fix(persona): retain and combine per-source scope verdicts
leafliber Oct 12, 2026
81cdf20
fix(persona): exclude unimplemented plans despite truthful announcements
leafliber Oct 13, 2026
df3c614
fix(persona): complete omitted positive focus checks within the same …
leafliber Oct 13, 2026
2918215
fix(persona): validate complete scope verdicts at either response level
leafliber Oct 13, 2026
6e29909
fix(persona): bind bounded scene context to each clause's own evidence
leafliber Oct 13, 2026
76a9110
test(persona): supply own scene context in integration fixtures
leafliber Oct 13, 2026
e8ff56f
fix(persona): leave reasoning headroom for repair and ignore context …
leafliber Oct 13, 2026
9bfb495
fix(persona): reject cosmetic retries of failed repair claims
leafliber Oct 13, 2026
82bbfc7
fix(persona): validate explicit extra focus verdicts without losing a…
leafliber Oct 13, 2026
bf2fc92
fix(persona): retain explicit rejection when stop marker is omitted
leafliber Oct 13, 2026
672e2d2
fix(persona): validate every repeated focus verdict before projection
leafliber Oct 14, 2026
7a9fea6
fix(persona): stream GLM checks with bounded complete-response diagno…
leafliber Oct 14, 2026
88db3b8
Merge origin/main into feat/persona-opt for PE validation
leafliber Oct 14, 2026
fc18af9
fix(persona): reject incomplete prefixes with deterministically adver…
leafliber Oct 14, 2026
b321443
fix(persona): keep omitted scope unchecked after independent rejection
leafliber Oct 14, 2026
ef9254f
fix(persona): bind counted and negative results to original action ev…
leafliber Oct 14, 2026
ab91c90
fix(persona): bind resultative checks to predicate scope and selected…
leafliber Oct 14, 2026
cfa8deb
fix(persona): reject known invalid sentences before model checks
leafliber Oct 14, 2026
ee59287
fix(persona): select bound repair text without an extra model call
leafliber Oct 14, 2026
ef1c508
fix(persona): separate factual checks from whole-version degree
leafliber Oct 14, 2026
c20e531
fix(persona): give JSON correction the concrete parser diagnostic
leafliber Oct 14, 2026
7b4667e
fix(persona): keep recognition scope and reported event context
leafliber Oct 14, 2026
d391364
test(persona): cover degree requests in maintenance budgets
leafliber Oct 15, 2026
49b4aca
docs(persona): record final public double evaluation
leafliber Oct 15, 2026
1daaccc
Merge origin/main into feat/persona-opt for PE-10
leafliber Oct 17, 2026
dbacdd5
fix: bound persona checks and recover invalid sentence fields
leafliber Oct 17, 2026
7ef59c9
docs: record PE-11b persona timeout run
leafliber Oct 18, 2026
3b65ecb
Merge origin/main into feat/persona-opt for PE-12
leafliber Oct 18, 2026
7bf7afb
fix: recover persona evaluation timeouts and detect stalled streams
leafliber Oct 18, 2026
a3e5c73
docs: report PE-12 runtime fixes and public quality stop
leafliber Oct 18, 2026
71655ca
docs: report PE-13b persona v2 dual judgments
leafliber Oct 18, 2026
fae1fe9
fix: recover malformed persona check batch coverage
leafliber Oct 18, 2026
7f4d7f1
fix: recover all persona check output structures
leafliber Oct 18, 2026
5b77857
fix: split truncated persona checks and retain incomplete checkpoints
leafliber Oct 19, 2026
102f39c
docs: prepare persona improvement for integration
leafliber Oct 19, 2026
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
23 changes: 17 additions & 6 deletions ARCHITECTURE.md

Large diffs are not rendered by default.

52 changes: 48 additions & 4 deletions README.md

Large diffs are not rendered by default.

208 changes: 208 additions & 0 deletions evals/reports/persona-pe-20261015.md

Large diffs are not rendered by default.

61 changes: 61 additions & 0 deletions evals/reports/persona-pe10-20261017.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# PE-10:persona 检查字段恢复与材料上限(2026-10-17)

本轮按“先修再判”完成代码和假模型验证,未调用真实模型,未访问隐藏集,未进行质量判分。规划者提供的两次隐藏运行均因基础设施问题无效;本报告只使用其描述的运行现象,不追认旧运行。

开始时 worktree 干净,分支和远端均为 `49b4aca1636a26d21b64940d9e0f2866c5f18306`。fetch 后本地主仓库 main 与 origin/main 均为 `77dec809020d14d3c835ac02d57f26595bd00431`;在本 worktree merge 为 `1daaccc1ec8812687fef4711c71b378580ec1be2`,未 rebase。合并后的 persona 维护测试按“生成、事实检查、程度比较”三次调用与 main 新增的独立 `persona_max_calls` 对齐;未修改其他会话占用的产品文件。

## 两处修复

字段无效的直接原因是原检查器把能定位到单句的结构损坏加入 `incomplete_checks`,评测运行器因此停止后续时间线。现在只重问该句一次,保留原提示词、完整句子及全部绑定来源,附格式错误说明;其他句子不重问。修正结果仍通过原有字段、来源、日期、范围和内容类型校验。首查或补查已出现的否定、虚构、违规与证据保护不能被重问后的正面意见覆盖。

重问仍无效,或没有剩余阶段预算/请求大小额度时,控制器明确给出 `verdict_origin=conservative_rejection`,按原有修复/删除流程处理该句,绝不当作有依据,不再产生整轮 `incomplete_check`。原始响应、首次错误、重问输出、纠正失败及不利结论分别保留在尝试输出与 `invalid_sentence_checks`。整批缺句、句序无法对应等无法安全定位的损坏仍拒绝;网络/暂停/调用额度错误仍失败,不伪装成语义删句。

耗时方面,旧分批只限制四个句子行、两个焦点,未限制完整绑定证据的大小;长背景会使“小批”仍很重。现在额外限制**序列化完整 messages(含系统提示词)的 UTF-8 大小为 32768 字节**。超限先二分句子行,再拆为单焦点;每个请求保留完整原句和绑定来源,不截断否定、日期或条件。单焦点仍超限则不发送,记录 `material_rejections` 并保守修复/删除该句,继续其他句子。所有发送路径都有最后的大小检查,包括补查、字段重问、JSON 语法修正、程度比较;不能拆分的程度或 JSON 修正请求超限会失败。

单次检查调用仍最多 360 秒;初检和复查各有固定的 900 秒阶段截止时间,单窗口也用这一上限。单批超时可重试一次,首查、补查与字段重问共用这一次机会,程度比较也至多一次;重试不延长阶段截止时间。429、暂停、调用额度不足和其他错误不使用此重试。调用内 HTTP 重试与 JSON 语法修正仍共用单次截止时间,实际请求仍逐次计费、记账并遵守健康状态和维护停止信号。

完整材料上限降低了单次输入的最坏情况,不能据此声称已经证明 GLM 的实际时延改善或消除了远端超时;真实验证待规划者通知。保守处理可能增加删句率,需要在正式公开运行中报告。正式评测对超时/429 的作废规则未改:即使产品内重试成功,原失败调用仍使真实评测整轮无效。

## 质量规则与提示词

未修改生成、依据/日期/范围保护、修复选择、发布与修订号复核规则。AST 对照确认 64 个已有模块函数未改,变化的已有模块函数仅分批及运行元数据;`_recover_sentences`、`_run` 等恢复与写回方法未改。评测模块只增加材料上限与重试次数元数据,未改计分与运行有效性算法。模型调用仍在事务外,默认仍全部人工确认。

提示词文件未变,沿用:

| 文件 | SHA-256 |
| --- | --- |
| persona_generate_v20.md | b25cc94c838114f97fdf65cf988f33414bd5a4e24799a5d3c0b2e53f2557774a |
| persona_check_v33.md | 7e6c2d2728bfc7065ec4701e6d9a8fb511b1c2966e8386ad5577c5e3c1639b4b |
| persona_degree_v1.md | da02babb637316959ae3d9d51e1d9490b7c78bc454906a07abec379dc11d7ed6 |

## 验证

新增 43 个参数化测试案例:41 个在 `tests/test_persona_check_resilience.py`,2 个在 persona 评测测试中。覆盖坏字段/成功纠正/仍无效、只重问坏句、保留不利结论(包括坏补查响应)、字节拆分及不可拆材料、JSON 修正大小保护、一次超时重试与阶段耗尽、其他错误不重试、格式重问不重置次数、GLM 流式网关假 HTTP 的调用记账、事务外调用与版本/记忆修订冲突,以及坏字段保守处理后后续检查点照常执行。

首批回归在原实现上 **25 失败、5 通过**,修复后 **30 通过**;扩展后的检查恢复与评测集成测试 **90 通过**。旧测试同步更新故障重问的调用数、固定 900 秒阶段预算及逐句保守诊断,保留“不支持/不发布/不猜测归属”断言。完整红绿及中间夹具修正日志均保留。

| 命令 | 结果 |
| --- | --- |
| Python 3.13.13:`uv run pytest` | 4570 passed,8 warnings,退出码 0,1205.92 秒 |
| Python 3.12.12:`uv run --locked --isolated --python 3.12 pytest` | 4570 passed,8 warnings,退出码 0,1217.38 秒 |
| `uv build --out-dir <材料目录>/build` | wheel 与 sdist 构建成功,退出码 0 |

两版严格串行运行,隔离测试后 worktree 的 `.venv` 仍为 Python 3.13.13。警告来自依赖的转义及 TestClient 弃用提示。构建包中两份修改源码及三份在用提示词与工作区逐字节一致。

学习与召回对照均使用同一 main 基线 `77dec809020d14d3c835ac02d57f26595bd00431`,以固定假模型/向量运行实际产品代码;脚本阻止 socket 网络访问,不读取模型配置,不是质量评测,也不重标语料。

| 对照 | 范围 | 结果 |
| --- | --- | --- |
| 学习请求 | learning_v1—v5,116 段、272 批;156 批相关记忆非空 | messages、purpose、max_tokens 零差异 |
| 召回返回 | 七份冻结公开集,228 查询 × 5 路径 = 1140 份完整返回 | 零差异;双方均无降级 |
| 召回模型输入 | 216 次假判断、471 个向量输入 | 零差异 |

召回五条路径为 jieba_fts、trigram_fts、jieba_hybrid、trigram_hybrid、default_judged。固定生成时间、主体/recall UUID 和假判断时钟,保留语料事件时间及原召回时钟;最终比较完整返回,不删除正文、排序、理由或来源字段。首轮对照因未固定随机 recall_id、生成时间和耗时而报差异,逐字段核查仅这些运行变量不同;原材料保留,新目录完整重跑后零差异,产品代码没有为对照改动。

学习请求 SHA-256(双方一致):`147c831b46c19fa6f83c4055ff8a61c5f4838165453976a73687c5f2f485c08c`。召回完整返回 SHA-256(双方一致):`735282dc08ea5c656d89e7d47e7c7ed55ee5c08eeac3e49f85f5985a8787a696`。两项对照候选产品源码指纹一致:`74db398443a30ebe1c5a47f17c41730356cae61738c17a545e7b7e0edb10f7a9`。

## 材料与待办

原始材料均在仓库外 `/Users/cassia/Local/Code/iris-eval-artifacts/persona-pe10-20261017/`,包括 `red.log`、`green-initial.log`、`integration-green-final.log`、两版完整测试日志、构建日志、`source-audit.json`、`learning-comparison/`、首轮 `recall-comparison/` 及完整重跑 `recall-comparison-fixed/`;比较脚本也保存在此处。无虚拟环境或 node_modules 副本。两版全量测试结束后均已删除自己 worktree 的 `.pytest-tmp`。只用 `git worktree add` 创建的 main 对照 worktree `/Users/cassia/Local/Code/iris-core-persona-pe10-baseline` 保留供规划者后续清理,未删除其他 worktree 或分支。

本轮没有真实运行或真实作废轮次。前一候选的公开双判结果仅作历史,不能用于认定本次候选达标;待规划者通知后,再跑 persona_v1、persona_v2 正式运行与各自独立外部双判,报告拒绝率、删句率及全部技术作废。隐藏验收仍由规划者维护,未访问。是否恢复自动发布由用户决定;本执行会话只提交推送,不合并。
99 changes: 99 additions & 0 deletions evals/reports/persona-pe11b-20261018.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# PE-11b persona 公开集正式运行报告

本轮未通过运行有效性条件:persona_v1 在 PT04 的首个检查点发生一次 359.971 秒超时。检查器在原阶段预算内重试一次并成功,评测仍按规则作废并停止后续时间线。没有重跑、没有启动 persona_v2、没有进行外部判分或修改代码,不能据此认定稳健性修复后质量不变。

## 候选与执行边界

- PR #61,分支 `feat/persona-opt`,worktree `/Users/cassia/Local/Code/iris-core-m3-persona`。
- 本地及远端 PR 起始 head 均为 `dbacdd572dfdf94a4fc6fbfd1ea22dd5e77e871d`;工作区干净。按 PE-11b 固定该快照执行,没有合入新的 main,也未改产品源码、提示词、测试、冻结语料或评分。
- GLM `glm-5.3-flash`、`high`。按指定环境变量使用主仓库配置,连接检查 chat/embedding 均成功,只记录结论。
- Python 3.13.13、3.12.12 均可用;在本 worktree 完成 `uv sync --python 3.13` 后开始真实运行。真实运行期间没有修改源码或重建虚拟环境。
- 新目录:`/Users/cassia/Local/Code/iris-eval-artifacts/persona-pe11b-20261018/`。v1 从空目录完整启动一次,复用案例数为 0;所有原始材料、诊断脚本与完整输出留在仓库外。
- 本轮通过条件按 PE-11b:两份语料都 run_valid、实际变化全部有依据、违规与禁止内容均为 0。任一运行无效或质量失败即停止,不通过重跑挑选结果。
- persona 评测器源码指纹:`222dfe8dde8254362bfdc95d195fba2797ca2de27fa58d1a4067acb6ac26eaa3`。PE-10 离线对照脚本以文件名计算的指纹仍为 `74db398443a30ebe1c5a47f17c41730356cae61738c17a545e7b7e0edb10f7a9`;两种算法分别使用相对路径/文件名,差异不表示本轮改了源码。

## 两份公开集与 PE-03 对比

| 公开集 | PE-03 有依据变化 | PE-11b run_valid | PE-11b 双判有依据变化 | 违规/禁止内容 | 本轮结论 |
| --- | --- | --- | --- | --- | --- |
| persona_v1 | 19/19(100%) | false | 未判分 | 未判分 | 超时,整轮作废 |
| persona_v2 | 30/30(100%) | 未运行 | 未判分 | 未判分 | v1 无效后按指令停止 |

PE-03 报告还分别记录 v1、v2 的禁止参考项出现 2 次,七类违规均为 0;历史的 100% 有依据变化率不能替代本次明确要求的“禁止内容 0”。本轮没有把未判分写成零违规,也没有用旧候选票数补齐新候选。由于没有有效完整材料,未启动判分子代理、未调用 persona-score。

v1 计划 5 条时间线、30 个检查点;实际执行 PT01—PT04,只有前三条完整结束。到停止时共执行 19 个检查点,PT04 尚余 14 个事件,PT05 未执行。模型调用共 96 次:生成 15、persona_check 70、persona_recheck 11。评测计时 2260.353 秒(37 分 40.353 秒),CLI 外层计时 2261.361 秒;北京时间 2026-10-18 10:22:26 至 11:00:07。CLI 退出码为 0,但正式报告 metrics.run_valid=false,以后者判定有效性。

以下仅为无效运行已执行部分的产品诊断,不作质量门槛结论:

| 指标 | 数值 |
| --- | --- |
| 生成候选 | 15 |
| 实际变化 | 12,均未外部判分 |
| 检查拒绝率 | 3/15(20.00%) |
| 删句率 | 29/65(44.62%) |
| 经摘录修复保留 | 0 句 |

## 新增稳健性诊断

| 指标 | persona_v1 已执行部分 | persona_v2 |
| --- | --- | --- |
| 坏字段重问次数及结果 | 0,无修正结果 | 未运行 |
| 尺寸拆批次数 | 0 个额外计划批次,0 个阶段触发 | 未运行 |
| 单批超时重试 | 1 次,成功 1 次 | 未运行 |
| 保守拒绝句数 | 0(坏字段耗尽及材料超限均为 0) | 未运行 |
| 实际事实窗口/程度窗口 | 72/8 | 未运行 |
| 最大记录检查请求 | 18,596 字节,超限记录 0 | 未运行 |
| 超时/429/输出截断 | 1/0/0 | 未运行 |
| 不完整检查 | 0 | 未运行 |
| 未完成时间线/未执行时间线 | 1/1 | 未运行 |

尺寸拆批按冻结提案与证据离线重建,对比“仅四行/两焦点限制”的计划和增加 32 KiB 限制后的计划,统计额外计划批数;与之后因拒绝跳过的窗口分开。字段重问、超时重试只遍历原始 batches,不重复计算首批在根对象保存的副本。保守拒绝按候选原句去重,另保留分阶段句次。完整定义与逐项记录在外部 diagnostics/diagnostic-details JSON。

| 检查调用范围 | 次数 | P50(秒) | P95(秒) | 最长(秒) |
| --- | --- | --- | --- | --- |
| persona_check | 70 | 12.252 | 63.8814 | 359.971 |
| persona_recheck | 11 | 23.405 | 37.552 | 39.562 |
| 两者合计 | 81 | 13.768 | 46.986 | 359.971 |

以上包含事实检查、程度比较和超时请求,以实际 model_calls 耗时、评测器线性插值口径计算。成功检查中的最长耗时为 99.581 秒。其余 15 次是生成调用。本轮已执行材料未触发尺寸拆批、坏字段修正或保守拒绝路径,不能凭这些零计数确认更重材料下的效果。

## 超时经过与边界

PT04:2026-11-02 的第一批 persona_check,材料量为 15,916 字节(15.54 KiB),低于 32 KiB 上限,包含两个自动检查焦点。初次与重试请求的记录大小相同。

首次 SSE 传输在 0.689 秒收到 HTTP 200 响应头,约 0.690 秒开始接收片段;共记录 720 个片段、2417 个推理字符,最后片段在 11.368 秒。随后直到 360 秒关闭连接都没有正文和结束标记,尾部无进展约 348.632 秒。没有保存推理全文。传输快照的 max_data_gap_seconds 为 0.690 秒,且缺少 elapsed_seconds/cancelled 收尾字段;这一保存值没有反映末尾静默,本报告按关闭事件时刻减最后片段时刻另算 348.632 秒,不能用 0.690 秒代表整个请求的最大停顿。model_calls 记为 total timeout/timed_out=1、359.971 秒;未完成的模型响应没有 finish_reason 或用量。传输层已收到 200 响应头,model_calls.status_code 仍为 null,两者是不同记录层次。

原阶段预算为 900 秒,重试前剩余 538.951 秒。检查器按 PE-10 逻辑只重试该批一次,13.787 秒成功返回 HTTP 200/stop;之后该候选完成检查并为 pending。因此 persona_attempts 的 timed_out_attempts 指标为 0,但实际模型超时调用仍为 1;不能仅看前者误报无超时。评测器保留初次失败,标记 timeout、incomplete_timeline,并停止 PT04 后续事件及 PT05。

现有客户端证据定位到“SSE 已开始响应后长期无新片段”;无法进一步判定具体服务端或网络环节。材料大小没有触发上限,重试恢复了产品检查的完整性,但本次无超时运行条件没有满足。没有放宽预算、质量规则或补跑。

## 作废运行

| 运行 | 状态与材料 |
| --- | --- |
| PE-11,`persona-pe11-20261017/persona_v1` | 用户说明 Codex 额度耗尽后由规划者终止。外层记录 39.777 秒、退出 143;PT01 仅完成 8/18 个事件、1 个检查点,进度快照尚无调用,但残留数据库保存 1 次成功生成(38.369 秒)。检查在途结果及用量未知,无最终运行报告、无判分材料。进程已不存在;原目录保留,完全未复用。 |
| PE-11b,`persona-pe11b-20261018/persona_v1` | 本报告所述超时;最终报告及部分材料已导出,但整轮无效,不判分、不续跑、不复用。 |
| persona_v2 | 两轮都未启动,不算作废运行。 |

PE-03 更早的作废清单继续保留在原汇总报告,本轮不追认其中任何片段。

## 测试、构建与材料

真实评测结束后,以下命令严格串行执行,未与模型运行重叠:

| 顺序 | 命令/版本 | 结果 | 耗时 | 日志 |
| --- | --- | --- | --- | --- |
| 1 | `uv run pytest`,Python 3.13.13 | 4570 passed,8 warnings,退出 0 | pytest 1249.87 秒 | `python313.log` |
| 2 | `uv run --locked --isolated --python 3.12 pytest`,Python 3.12.12 | 4570 passed,8 warnings,退出 0 | pytest 1242.34 秒 | `python312.log` |
| 3 | `uv build --out-dir <本轮外部目录>/build` | wheel/sdist 成功,退出 0 | 外层 2.437 秒 | `build.log` |

两次测试结束后分别删除自己的 `.pytest-tmp`,最终确认不存在;worktree 的 `.venv` 仍为 Python 3.13.13。源码指纹仍与正式运行一致。wheel/sdist 内的 persona 源码、三份在用提示词与冻结评分逐字节核对一致,包内没有模型密钥配置、secrets.json、虚拟环境、node_modules 或临时测试目录。完整验证记录为 `validation-execution.json`、`validation-summary.json`、`package-audit.json`。没有额外进行 CPU 压测或性能测量。

导出的 15 份候选材料、run.json、scoring.md 以及清单指纹均验证一致,评分文件和语料原文件未变;这只证明部分导出的完整性,不把无效运行变成有效全量材料,见 `partial-material-integrity.json`。

原始运行报告:`persona_v1/persona-20261018T030007-47627a99.json`,SHA-256 `35c001dc34f4e2b5dfd160ded3e0f0e0bee78c3a37db2e8480a9072eba469718`。
部分材料目录:`persona_v1/judging-materials-20261018T030007-cdb8becf`,materials_sha256 `2b1f37b7b43a85d46e1d17de0f761f238d3647da5166b3e3bd51052271253439`。仅保留现场,不构成有效的全量判分材料。

主要诊断为 `persona_v1-diagnostics.json`、`persona_v1-diagnostic-details.json`、`timeout-diagnostic.json`、`pe11-invalidated.json`、`stop-decision.json`;离线统计脚本为 `analyze_run.py`。本报告只提交汇总,完整日志与输出仍在指定外部目录。

默认全部人工确认未变;未寻找或读取隐藏集。仅功能分支提交及普通推送,不合并 PR、不 force push。
Loading