Skip to content

test: qualify public smoke fixtures against canonical authority - #7499

Merged
loopx-agent merged 35 commits into
mainfrom
codex/release220-public-smoke-fixtures-20261027
Oct 27, 2026
Merged

loopx-agent merged 35 commits into
mainfrom
codex/release220-public-smoke-fixtures-20261027

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Problem and result

Existing public canaries authored Markdown fixtures or changed display files after canonical cutover, so current CLI paths refused before reaching the original assertions. Initialize disposable canonical authority once after all authored source data, then use actual provider CAS for later synthetic changes. Unmigrated or wrong-target paths remain explicit no-write/no-fallback negatives; real File/SQLite journeys and independent semantic assertions remain.

Reuse the existing canary harness for full readback comparison with only validated observation clocks excluded. Read all HTML-linked CSS chunks before checking packaged Workspace completeness. Update the current machine-configuration inventory and paired generated RFC ledgers. No product authority, provider default, UI implementation, timeout ceiling, or model policy changes.

Validation

  • 00362eed42f7: all 514 public smokes passed, zero failures, timeouts, git-required skips or tracked side effects.
  • Final head f872fbcda3b05c7cf511a8ec20bb22de20afbcab: 26 File/SQLite coordination and UTF-8 contract cases passed, zero skips; premerge 6 direct + 10 catalog + 8 risk + 1 boundary checks passed; required Ruff, configured mypy and isolated 60-file public/private scan passed. Final head adds explicit UTF-8 at the shared fixture subprocess and incorporates already reviewed main changes. Earlier whole-suite evidence is retained at its actual source.
  • Exact-head review, change-quality receipt and merge readiness completed. Full frozen-release qualification and real-model/channel delivery remain separate.

Frontend / Visual Evidence

UI impact: none. Existing installed Chat server smoke still checks real HTTP/HTML-linked assets.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…ic-smoke-fixtures-20261027

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…clocks

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…ic-smoke-fixtures-20261027

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…nical authority

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…ic-smoke-fixtures-20261027

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…back

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…ates

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…ility

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…' into codex/release220-public-smoke-fixtures-20261027

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
…codex/release220-public-smoke-fixtures-20261027

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
… into codex/release220-public-smoke-fixtures-20261027

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

APPROVE,精确 head f872fbcda3b05c7cf511a8ec20bb22de20afbcab。

动机 / Motivation

运行公开CLI、安装和跨模块回归的维护者。 旧fixture只写Markdown或修改导出显示,普通入口已要求canonical authority,导致测试在到达原有产品断言前失败;拆分后的CSS也不再保证第一个文件包含Workspace规则。 fixture在全部源数据准备后显式初始化一次SQLite,后续变化走真实CAS;未迁移场景明确拒绝且无写入,原有产品旅程和独立断言继续执行。 不修改产品准入、Todo决策、lease、配额、运行时provider默认或真实模型策略,不把模拟发送当作真实Lark交付。

改动思路 / Approach

复用已有备份、导入、typed provider、CAS和独立CLI,集中唯一的fixture推进与时钟比较,保留各smoke的语义断言。 先完成全部源fixture,再显式备份并导入一次;之后的owner-review完成状态通过原生provider revision CAS推进,不重置writer fence、不重新导入。本PR只修复既有公开smoke的合成fixture与当前契约说明,新增辅助函数只供测试调用。 把这一批回归直接跳过、恢复Markdown fallback,或者在每个smoke复制一套state写入器,都无法证明当前公开路径可用。

具体改动 / Changes

按 e74961a95b0d00e248f2dd9ccbf7a2c3fddb7b32 的 docs/development/good-smokes.md 与 docs/reference/local-authority-provider-selection.md 核对 FIXTURE-AUTHORITY、SEMANTIC-ORACLES。60个文件中的多数改动补齐合成registry/runtime和一次canonical导入;harness增加真实CAS推进及完整读回比较,时间字段先验证schema与带时区ISO格式,再只排除观测时钟,Todo、lease、receipt和provider revision均保留比较。不同runtime的fixture备份目录隔离,避免碰撞。

旧普通Markdown正例改为明确canonical拒绝,继续断言no fallback、no write和源字节不变;实际File/SQLite的完整路径保留。显示fixture没有provider时只允许unavailable/no write authority,不伪造soft claim;既有真实soft/hard lease专项通过。split-runtime测试同时保留显式错误target拒绝和普通source路由成功。Chat smoke抓取HTML实际关联的全部CSS后仍检查Workspace规则;隐私脱敏断言改用现有local-path标签。报告smoke只去掉旧Outcome前缀,实际全文内容、主文/附录边界与digest断言保留。IP-030记录当前SQLite新Goal默认与两个现有off命名空间;成对RFC ledger重新生成。

00362eed42f7全514项通过,0失败/超时/git跳过/副作用;最终head26项File/SQLite协调和UTF-8通过,0跳过;6direct+10catalog+8risk+1boundary全部通过,规定Ruff、17模块mypy与60文件隔离边界扫描通过。 514项结果绑定00362eed42f7,最终head增加明确UTF-8并合入已评审main,未把旧head整套结果冒充最终head全套。26项最终专项与完整premerge均有独立source/cleanup读回,CI依Goal配置未查询。

对主干的风险 / Risks

主要风险是为迁就测试而抹掉真实边界,因此逐项核对:未迁移普通read仍拒绝,显示数据不产生lease,权限和结算断言保留,观察时钟之外完整比较,原有集成脚本仍可独立选择。hard-cut scanner只对指定decoder诊断行和RFC原生session角色句开放,其他赋值与其他路径反例仍失败。没有缩减性能阈值或改变120秒smoke上限。真实外部模型和Lark没有由合成fixture取得资格;这些结果也不是最终发布渠道完成证据。

我的整体评价 / Verdict

复用已有备份、导入、typed provider、CAS和独立CLI,集中唯一的fixture推进与时钟比较,保留各smoke的语义断言。 本PR只修复既有公开smoke的合成fixture与当前契约说明,新增辅助函数只供测试调用。 这批工作恢复了硬切后真正有用的公开回归,而不是把失败改成skip或从展示材料反推authority。共享少量fixture代码值得保留,不需要另建测试框架或重写生产owner。未观察到UI实现变化;安装Chatserver的资源检查仍执行真实HTTP路径。整套514项在00362eed42f7通过;最终head另合入主线UTF-8与provider-routing修复并补齐一个fixture子进程codec,26项协调/UTF-8和最终premerge通过;统一最终发布commit的全量资格、真实模型和各渠道仍待完成。

English verdict: APPROVE f872fbcda3b05c7cf511a8ec20bb22de20afbcab. Existing public fixtures use actual canonical setup andCAS,retain meaningful negative/readback coverage,andread all packagedCSS chunks.514publicsmokes passedat00362eed42f7;26final-head coordination/codec cases andrequiredlocalgates passed. No productauthority/defaultchange;finalrelease-source qualificationremains separate.

@loopx-agent
loopx-agent merged commit 47576fd into main Oct 27, 2026
9 of 11 checks passed
@loopx-agent
loopx-agent deleted the codex/release220-public-smoke-fixtures-20261027 branch October 27, 2026 16:04

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max
Request changes conclusion (author-owned PR; GitHub blocks formal self-review)
Post-merge audit — 本次来自另一实际执行会话,与作者共用 GitHub login;两项公开 smoke 修复仍需补齐

动机 / Motivation

运行公开回归检查、准备发布资格的维护者需要这批 fixture 修复。
原有脚本只准备 Markdown,迁移后的普通入口会在到达产品断言之前拒绝。此版本先显式导入一次规范状态,再执行原有断言和后续 CAS 写入;这样测试才能覆盖真正交付的路径。
本次独立运行了全部 54 项直接改动的 smoke,52 项通过,两项仍存在可复现的测试问题,因此完整稳定资格尚未成立。
本次审计只评价该精确源码和公开合成回归,不把它当作正式安装、真实模型、Lark 发送或完整 release 已验收。

改动思路 / Approach

总体方向正确:源数据准备完毕后,复用现有 backup/saved-plan import 建立 disposable canonical authority;随后直接走真实 provider revision CAS,而不是重置存储、重新导入或恢复 Markdown fallback。产品准入、lease、Todo 和结算策略没有因测试变更被改写。未迁移和错误 target 继续是明确的 no-write/no-fallback 反例,显示 fixture 也不再伪造 ownership。

结构判断:保留测试辅助边界和各 smoke 独立语义断言。harness 属于 local helper/provider IO,状态和授权仍由既有 typed owner 决定;当前 PR 只是公开回归维护,不新增产品策略或运行时默认。复用 shared helper 比每个 fixture 另写存储更合理;现有 tests fixture 内同形 CAS/clock helper 可后续合并,但不是本次必要重写。两项问题只需在对应 smoke 内修正时钟与 fixture 路径,不需要放宽语义比较或超时。

具体改动 / Changes

规范依据 docs/development/good-smokes.md#review-checklist,固定 revision e74961a95b0d00e248f2dd9ccbf7a2c3fddb7b32,并核对同版 docs/reference/local-authority-provider-selection.md。review-checklist:not_met,当前观察时间和临时路径仍影响语义测试是否成功;public-safe-fixtures:implemented,使用独立临时目录、合成 Goal 和实际清理;consolidate-without-losing-coverage:implemented,共享准备和 CAS,原 CLI/File/SQLite 旅程仍分别可选。这里使用现有章节锚点映射规范,没有增加新的验收义务。

关键代码讲解

  • import_fixture_authority 保持备份、saved carrier 和真实导入读回,并按 runtime 名隔离备份目录。
  • advance_fixture_authority 读取当前 provider revision 后真实 CAS,只有 applied 才成功;没有重建 fence。
  • assert_todo_read_unchanged 先验证时钟格式,再去掉明确的读取时钟;仍比较任务和 provider 事实。
  • assert_wrapper_parity 的旧 clock patch 没覆盖现在可达的 ownership observation,这是下面第一项问题。

其他变更也已核对:Chat server 沿 HTML 读取全部 CSS,仍校验 Workspace 规则;身份注册、用户 scoped 投影、源路由和脱敏断言对齐既有 owner;硬切扫描例外仅限确切诊断行和原生 session 说明,并保留反例。文档列出当前 SQLite 默认及两个既有默认关闭 namespace;RFC 两侧 ledger 同步,没有改变默认值。

对主干的风险 / Risks

[P2] 为新增可达的 ownership observation 固定同一时钟。 新增 canonical fixture 使 goal_channel_projection.coordination_observation.observed_at 出现于两次真实读取。脚本只 patch collection.now_utc_iso,而 ownership adapter 使用自己的 now_local_iso;两次跨秒即在第 117 行失败。完整观测比较只有这一个时间字段不同;原样 rerun 也曾通过,故保留为 intermittent failure。把该 adapter 的观测时钟固定到相同值,或经 schema 验证后仅归一此时钟;不要删除 provider revision、freshness 或其他事实比较。独立强制相邻两秒的同入口反例稳定复现。重跑 uv run --extra test python examples/control_plane/status-collection-readmodel-smoke.py,并保留跨秒敏感性验证。

[P2] canonical 导入后的路径预期应使用实际项目路径。 configure-goal fixture 的新增导入 会将 registry 的 repo 规范化到 physical path;但 expected_kanban_action 仍使用未经 resolve 的临时目录构造 --project。在 macOS 的临时目录别名下,第 542 行比较稳定失败,后续 quota/configuration 断言未执行。应在 fixture 建立前 resolve 临时根目录,或从实际注册项目构造预期;继续核对完整命令,不使用宽泛字符串替换。重跑 uv run --extra test python examples/project/configure-goal-smoke.py,覆盖带别名的临时目录。

两个 base 脚本也失败,但各自在更早的未迁移入口退出,失败签名不同,不能据此把当前缺口归为“相同既有失败”。这两项是维护切片仍未补齐的测试问题,没有证据表明生产 authority 或数据遭到破坏。完整 54 项本轮为 52 PASS/2 FAIL;状态脚本后来单次 PASS 不覆盖已复现的时钟分支。Ruff、6 direct、10 catalog、8 risk、1 boundary 均通过;本次 CQR 保留这两项验证 hold。全部 CSS 的测试使用了从此 head 新建的 Chat bundle。没有查询 CI,也没有重跑作者的 514 项全套或把较早 head 的全套结果借给此 head。

我的整体评价 / Verdict

这批改动确实恢复了大量公开回归的有效边界,范围总体相称;long_horizon 和 user_experience 的生产契约保持,当前没有渲染 UI 改动,visual review 不适用。完整 release 和真实安装采用仍是另外的验收范围。现有 vocabulary、saved import 和 CAS 被复用,没有新 authority 或默认开关。

PR 已由其他执行者以同一 head 合并;这是带新反例的 post-merge audit,不重复批准或改写合并事实。完整稳定资格仍需补齐上述两个 bounded fixture 修复;当前 52 项通过、两个失败、后来单次通过和作者旧 head 的声明均分别保留。

English verdict: REQUEST_CHANGES f872fbcda3b05c7cf511a8ec20bb22de20afbcab as a post-merge audit: fix the ownership-observation clock and canonical fixture path expectations; 52 of 54 affected smokes passed, with two remaining test defects.

loopx-agent added a commit that referenced this pull request Oct 27, 2026
…-20261028

Fix the two remaining PR #7499 post-merge audit fixture defects after exact-head self-review, local validation and readiness.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
@loopx-agent

Copy link
Copy Markdown
Collaborator Author

两项 post-merge audit finding 已在后续 PR #7507 修复并合并,head ebc398cc6472280976a2a15b1bfb78caa1a704d3,merge commit 4b87417637126856ff23b5230c215201d278875a。

  • assert_wrapper_parity 同时固定 ownership adapter 和 collection 的观测时钟,完整 payload 比较保留。强制相邻两秒可复现旧版失败;修复版通过,provider revision、envelope freshness 与 promotion freshness 的三种 mutation 仍触发失败。
  • configure-goal 在 author fixture 前 resolve 临时根目录,继续独立构造并比较完整命令。显式 symlink TMPDIR 场景在旧版失败、修复版完整通过。

两个完整 smoke、27 项相关测试、规定 Ruff scope、17 模块 mypy 和最终严格 premerge 均通过。已完成精确 head 自审、CQR 凭证验证与 ready=true 的 merge-readiness;中途基线推进产生的 stale-receipt hold 已保留并重新验证。合并后在 4b87417637126856ff23b5230c215201d278875a 的实际 main 源码再次运行这两个完整 smoke,均通过。CI 按配置未查询。

原 audit 与较早 head 的历史结果保持;本次不借用 514 项旧结果,也不声称完整 release、真实模型或 Lark 交付资格。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant