Skip to content

test(steward): follow the owner executor vocabulary - #8029

Merged
huangruiteng merged 1 commit into
loopx-project:mainfrom
JasonBuildAI:codex/agent-v9p2
Nov 4, 2026
Merged

huangruiteng merged 1 commit into
loopx-project:mainfrom
JasonBuildAI:codex/agent-v9p2

Conversation

@JasonBuildAI

Copy link
Copy Markdown
Contributor

Importance: The required Python test-shard and downstream merge-gate cannot pass for Python-changing work while this stale assertion rejects the already-shipped antigravity Steward executor.

Goal And Delivered Outcome

Author Declaration

  • Written by: OpenAI Codex model_agent, operating from a user-requested autonomous contribution task. No human reviewed this change before submission; maintainer review is requested.

Implemented against

Criterion (spec clause) Disposition Symbol / path Test or command
The editor must offer exactly the executor ids accepted by the owning steward namespace. implemented steward_executor_endpoints, tests/capabilities/test_capability_configuration_ui.py::test_steward_executor_editor_is_machine_only_and_typed uv run --extra test python -m pytest -q tests/capabilities/test_capability_configuration_ui.py::test_steward_executor_editor_is_machine_only_and_typed
The shipped Antigravity endpoint remains independently covered as accepted. implemented tests/test_antigravity_steward_adapter.py::test_antigravity_is_registered_in_steward_executor_vocabulary uv run --extra test python -m pytest -q tests/test_antigravity_steward_adapter.py::test_antigravity_is_registered_in_steward_executor_vocabulary tests/capabilities/test_steward_executor_machine_defaults.py

Scope And Continuation

  • Completed scope and remaining work: Remove the duplicated executor vocabulary from the test and compare the editor projection to the owning namespace. Complete within this scope.
  • Slice boundary / successor: N/A. The production behavior is already correct; no follow-up is required for this defect.

Validation

  • Tested revision: 17aa7c92be9fb25ebc7caea5df9d71b14556435d
  • Run state: finished
  • Input classes: synthetic
Check kind Result Public-safe evidence / limitation
unit passed tests/capabilities/test_capability_configuration_ui.py: 29 passed on Python 3.14.
unit passed Focused regression test passed on Python 3.11, matching CI.
unit passed Antigravity vocabulary assertion plus all steward machine-default tests: 10 passed.
static passed ruff check tests/capabilities/test_capability_configuration_ui.py: All checks passed.
static passed uv run --extra test loopx canary premerge --from-git-diff --git-diff-base upstream/main: passed, 1 changed file, 0 failures, 0 manual holds.
  • Coverage and gaps: The changed test directly exercises the editor field that failed. A broader unrelated Antigravity file run also exposed two existing trusted_owner history-delivery failures; this test-only diff cannot affect those product paths. The full six-shard CI suite is left to hosted qualification.

Frontend / Visual Evidence

  • UI impact: none
  • Before: N/A
  • After: N/A
  • First viewport and preview: N/A; no user-visible UI code changed.
  • States and viewports shown: N/A
  • Source data: none
  • Attention review: N/A; no UI change.
  • Craft review: N/A; no UI change.

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring (no functional changes)
  • Documentation update
  • Test update

LoopX Area

  • Control plane (goals, todos, quota, scheduler, registry, runtime)
  • Benchmark boundary (adapters, runners, verifiers, scoring, evidence)
  • Capability or extension (providers, adapters, skills)
  • Public docs or presentation surface (README, protocols, dashboard)
  • Build, packaging, installer, or CI
  • Host or runtime integration

Technical Direction

  • Direction / acceptance reference, when applicable: N/A; bounded required-test repair.

Shared-authority RFC fixture impact

  • Production-scale fixture schema: N/A
  • Semantic dimensions changed, or reviewed no-impact rationale: N/A; no control-plane, protocol, or fixture schema change.
  • Provider conformance arms run: N/A
  • Read-only legacy/file/PostgreSQL three-arm rehearsal (required for promotion, runtime-routing, or compatibility-projection changes): N/A

Boundary Checklist

  • Neither the diff nor this PR body/comments/attachments disclose private state, credentials, raw traces or verifier output, internal links, or local machine paths (including .loopx/, .codex/goals/, and live ACTIVE_GOAL_STATE.md).
  • I did not duplicate maintainer-owned benchmark work unless a maintainer split out a public issue for it.
  • I kept the change scoped to the linked issue/task.
  • Existing English/Chinese RFC pairs (including ledger entries) both have a diff, and the local premerge check passed; no paired RFC changed.
  • I completed the visual evidence section for UI changes, or marked UI impact none.
  • Every commit includes a DCO Signed-off-by trailer (git commit -s).

The steward editor test hard-coded the pre-Antigravity endpoint list even though the editor follows steward_executor_endpoints(). Compare against that owner so the required configuration suite tracks accepted executors without a second vocabulary copy.

Signed-off-by: JasonBuildAI <jasonbuildai@gmail.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator

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 · max · runtime_reported

APPROVE — 当前 exact head 未发现 blocking finding。 我独立复现了旧断言失败,并用有区分度的错误投影确认新断言仍能发现遗漏、多余和重复 executor。

动机

受影响的是为 Steward 配置或相关 Python 变更运行必需验收的贡献者。产品已经把 antigravity 作为合法 executor,与 codex、dsh 一起从 namespace owner 投影到编辑器;旧测试却只接受后两个值。此前正确产品行为也会使测试失败;本 PR 让测试检查编辑器与合法词汇的一致性,并由既有独立测试继续固定已出货的 Antigravity 支持。可观察结果是:同一套配置/owner 测试在 base 为 38 passed、1 failed,当前 head 为 39 passed。它不改变产品配置、默认 executor、权限或模型调用,也不宣称完整 CI 已绿。

这是一个可独立交付的内部维护修复:消除已复现的伪失败,恢复验收路径的信号,而非为了增加测试数量。保留旧列表会继续阻断正确结果;改成另一个三项字面量虽能暂时通过,却仍在测试中维护第二份词汇。

改动思路

固定评审 17aa7c92be9fb25ebc7caea5df9d71b14556435d,base a0130633723210a5406dca61ee27aa33fe48b3f3。machine_defaults.py 已是合法 endpoint 的 owner,configuration_ui._steward_executor_editor_options() 读取它并排序,编辑器只展示这一结果。当前变动让测试复用这个契约,不增加运行时分支或新的 vocabulary。机器限定、字段类型、required/nullable、Goal override 拒绝和配置来源读回等其他断言全部保留。

最强反对理由是新期望也读 owner,可能把产品错误一起接受。这里需要分清两个不变量:此测试检查“编辑器准确投影 owner”,既有 test_antigravity_is_registered_in_steward_executor_vocabulary 则独立检查“owner 仍接受已出货的 Antigravity”。我实际让 projection 缺项/多项/重复,当前测试全部拒绝;再让 process-local owner 移除 Antigravity,一致性测试会接受两个值,但独立 shipped-endpoint guard 会失败。这证明保留的是两层互补的覆盖,不能用前者替代后者。

具体改动

  1. test_capability_configuration_ui.py:13–15 导入既有 steward_executor_endpoints;:140 将旧 ['codex', 'dsh'] 换为 sorted(steward_executor_endpoints())。只改这个既有测试文件,4 additions/1 deletion,不改生产源或新增测试框架。
  2. 实际调用链是测试的 capability_configuration_editor('steward_executor') → configuration_ui.py:35–43 的 options projection → machine_defaults.py:87 的 closed owner。断言仍比较完整排序列表,而非 contains、集合子集或跳过校验,所以漏项、多余值、重复项都会被检测。
  3. 既有 Antigravity guard 在 test_antigravity_steward_adapter.py:38–69 独立固定 literal、normalize、默认模型和 channel binding;namespace 测试保留未知 endpoint 拒绝、非法 flexible pool、机器配置 live-store 读回及错误恢复。没有执行真实 Host 或模型。

规格依据是 #8028 的 Expected behavior,以其复现基线 a0130633723210a5406dca61ee27aa33fe48b3f3 的 owner/editor 契约核对;没有另造一份 RFC 或新 acceptance:

criterion_id 要求与 disposition
Expected behavior implemented:编辑器提供的 executor ids 必须恰好等于 namespace 接受的 ids。真实 base/head 同命令复现/通过;错误 projection 的独立反例确认完整一致性仍被检查。

已读取 #7832 与 #7746 的公共交付背景,并核对当前实际源码;前者已出货 Antigravity,后者把词汇 owner 收敛到 namespace。历史描述只作来源,不代替本轮执行。当前记忆建议提醒审视第一有用结果;此处是已出货功能的必要测试修复,适用内部前置边界,不额外要求新的 UI、模型试用或父级 roadmap 交付。

对主干的风险

独立 Python 3.14 运行:base 的 focused test 稳定失败于旧两项列表;完整配置文件、shipped Antigravity guard 与 namespace suite 为 38 passed/1 failed。当前 head 同命令为 39 passed,focused 也通过。当前测试在缺少 Antigravity、多余未知 executor、重复 executor 三种 process-local 错误投影下都失败;旧断言反而会接受缺失 Antigravity 的投影。这些是隔离进程内的故意 mutation,没有修改作者或评审 worktree 的 tracked 源码。

现有 Python 3.11.17 的隔离 source-installed 环境跑了 focused test 加 shipped endpoint/namespace cases,11 passed,匹配仓库 workflow 的 Python 主版本。初次 offline 环境准备因 coverage wheel 不在缓存而失败,尚未开始 pytest;补齐测试环境依赖后执行成功,保留原准备失败,不把它称为测试通过。两侧 Ruff 通过;当前原生 quick premerge 的五项 direct checks 和精确 CQR cqr_d1e7d23ae67393af0e13 通过,DCO trailer 存在。

本轮不查询或等待 CI。完整六分片、完整 Antigravity runtime suite 和真实 Host 未跑;作者提到的两条 trusted_owner 历史失败仅保留为未独立归因的诊断,不声称已修复或已全绿。这个一文件测试差分不改变该产品路径,当前必要的 projection/owner/反例证据已独立成立。没有 rendered UI 变化,因此无需新增首屏截图;visual_review 检查范围是测试和未变的 owner/editor 调用链。

我的整体评价

这个修复保留测试的实质约束,移除了会再次漂移的词汇副本。对当前合同而言,这是完整、有真实消费者且可撤回的维护结果;用户配置和长期执行路径保持原样,贡献者的验收不再被该伪失败阻断。没有用测试数或 PR 数证明长期效率收益。

durable_smoke_value 判断为有持续价值:既有配置测试保护 UI projection 与 namespace 的一致性,独立 shipped-endpoint guard 保护支持集合,两者没有重复;本轮 mutation 也证明它们分别能发现什么。当前同作者队列中治理、UTF-8 恢复和研究 fixture 各有不同路径,未发现这次改动增加同形脚手架或复制 smoke,不能据此提出贡献限制。bounded refactor pass 已落实在移除第二份列表,无需再加 helper、缓存或追踪任务。没有新的兼容层或 persisted format。APPROVE 只适用于这个 unchanged head;审批不授予 merge 或 admin bypass 权限。

English verdict: APPROVE — 17aa7c92be9fb25ebc7caea5df9d71b14556435d removes the stale duplicate executor list while preserving exact editor/owner parity and the independent shipped-Antigravity guard. The base failure, head passes, projection/owner mutation probes, Python 3.11 cases and native premerge support this bounded test repair; full CI and live-host qualification are not claimed.

@huangruiteng
huangruiteng merged commit 4b8d31f into loopx-project:main Nov 4, 2026
25 of 34 checks passed
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.

[Bug]: Required Python test-shard rejects the shipped Antigravity steward executor

3 participants