Skip to content

fix(ci): select one Node application and qualify current Host contracts - #6322

Merged
huangruiteng merged 2 commits into
mainfrom
codex/ci-qualification-contracts-20261013
Oct 12, 2026
Merged

huangruiteng merged 2 commits into
mainfrom
codex/ci-qualification-contracts-20261013

Conversation

@loopx-agent

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

Copy link
Copy Markdown
Collaborator

PowerShell native scheduler follow-ups fail before dispatch when PATH contains two Node applications: Get-Command returns multiple command objects, so invoking their combined Source values produces an invalid command. Select the first application in PATH order and extend the existing real launcher test with a later, non-executable candidate. The original hosted failure and an independent duplicate-Node reproduction establish the cause; restoring the old lookup makes the new case fail.

This also repairs two current-contract qualification fixtures from the same full Python CI failure group. Compatibility ACKs now use the current Host reader and selected Python interpreter; missing/mismatched Host manifests reject without changing canonical/legacy scheduler bytes. Failure hints retain the exact native route with Python unavailable. Cadence clearing now includes the existing v2 stride option and is checked through real configuration preview/apply, machine inheritance inspection and history readback.

The remaining Todo-less settlement fixture belongs to #6285 at 277dab815eb8dba20ff1ca6256009589a1675a85. Its exact public patch passes all three affected chains with this repair on current main, including missing/mismatched Host negatives. The temporary integration overlay was removed; this PR does not duplicate that change. #5787 changes a different Windows Python process adapter and does not fix PowerShell Node selection.

Written by: model_agent — OpenAI Codex (GPT-6 family).

Validation at bce869f1b1a9d0ebab278180c6e700225d6945df, base 2e3ab4c4a5665378b9e422f9483a820066fca40b:

  • 87 focused cases pass with no skips, using actual Unix and PowerShell launchers, TypeScript scheduler and File/SQLite fixtures. Isolated, checksum-verified PowerShell 7.6.6 runs on macOS with source Python 3.14. Physical Windows/current hosted Ubuntu qualification remains unverified.
  • 25 affected launcher, Host compatibility and complete-setting inheritance cases also pass on the minimum Python 3.11.17 source environment with real PowerShell; local macOS, not hosted CI.
  • Duplicate-Node old-lookup mutation fails the real-process regression; all canonical/legacy/coexisting ACK/failure cases and complete-v2 configuration inheritance pass. The existing test(settlement): qualify current Host readback in full settlement chains #6285 overlay passes its three affected settlement chains independently.
  • Ruff, public-boundary scan, semantic advisory/full-tree semantic smoke, diff and DCO checks pass. Risk premerge passes four direct and fourteen selected install, quota, monitor and semantic checks.
  • The optional maintainability advisory reports unchanged goal_frontier metric debt; the failed observation is retained without an independent baseline waiver. Strict change-quality remains held for current-head hosted CI, the unadopted settlement dependency and that retained advisory. Formal review entry is separate from these merge holds.

Owner/refactor pass: reuse the existing PowerShell transport, Host-manifest fixture, configuration owner and typed scheduler. One direct first-application selection replaces collection invocation; no new framework, decision owner or vocabulary. Normal single-Node behavior, Host read/outer-controller guards, receipt authority, all test partitions, workers, deadlines, coverage/JUnit and required gates remain unchanged. Frontend/Lark changes: none; CLI/provider and existing configuration readback were exercised. This source proposal makes no installed-adoption, full-CI latency reduction or release-capacity claim. Maintainer merge authorization remains required.

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
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.

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

动机

使用 PowerShell 执行原生调度后续命令的用户会遇到这个问题。PATH 中有两个 Node 应用时,旧 launcher 把两个 Source 路径合成一个命令,尚未进入调度器便失败;只有一个 Node 的正常路径成功。 当前版本按 PATH 顺序选择第一个 Node 应用,真实双候选调用进入原生调度器并读回成功;Host ACK 仍要求当前宿主配置一致。 这是 launcher 修复及现行合同测试维护;不调整调度权限、CI 门禁、runner 或正式安装状态,不代表全量 CI 成本已降低。 物理 Windows、当前 hosted CI 和安装采用尚未验证;另一个 Todo-less settlement 修复仍属于既有 #6285,不能由本 PR 的通过记录代替。

改动思路

按修改前 docs/development/testing-and-quality.md 的冻结 2e3ab4c4a5665378b9e422f9483a820066fca40b 核验,逐项采用 Quality Layers / 质量分层, Pull-Request Baseline / PR 基线 的约束;另读拥有该边界的源码及总体路线,改动后的规格不能自证正确。

运行时只需把 Application 集合收窄到首项;三个现行合同测试复用真实 Host fixture、选定解释器和既有完整清除选项,避免另建规则或仅刷新 expected。 当前 PR 可独立交付双 Node 的真实 launcher 修复和 Host/配置继承的合同回归;完整 CI critical path、依赖采用及正式安装分别由原 owner 验证。

近邻重构判断:Applied the bounded transport simplification already in the diff; existing complete-setting clear helper and Host fixture replace partial/manual setup. No additional architecture is needed.

具体改动

审查完整 head bce869f1b1a9d0ebab278180c6e700225d6945df,5files+76/-19; production1linechanged, remaining four test files repair the affected existing qualification.

  • first Node Application(scripts/loopx.ps1:71):Select first Application before native TS dispatch; preserve all existing gates.
  • single/multiple actual launchers(tests/test_scheduler_native_launcher.py:174):Test first valid and later invalid Node application with Python unavailable.
  • current Host ACK/failure(tests/control_plane/test_scheduler_compat_state_key.py:125):Use real Host manifest and selected interpreter for ACK; missing/mismatch preserve bytes; failure stays native.
  • complete cadence clear/inheritance(tests/capabilities/test_machine_configuration_goal_defaults.py:369):Preview no-write, apply full clear, inspect inherited machine configuration and History.
  • v2 clear option(tests/test_chat_goal_configuration_api.py:326):Retain existing owner-provided clear_execution_stride_strategy option.

Own actual PowerShell7.6.6: B single succeeds/multiple fails before dispatch; H both succeed. All87 focused current tests pass with real Unix/PowerShell, canonical File/SQLite Host ACK and complete configuration/history readback.

对主干的风险

Missing/mismatched Host manifest rejects ACK with rrule_mismatch and identical canonical/legacy/coexisting scheduler bytes; failure hints still enter native route with Python unavailable. A later invalid executable candidate never runs.

当前独立 premerge 的4direct通过;14selected中13通过,1项 goal_frontier metric 仍失败并被原生标记 advisory_inherited_failure。同一冻结基线同命令失败、同源码 blob 未变,未改预算或删断言;这是现有合并资格缺口,不归因为此PR。首次运行13个PowerShell用例因PATH不可用跳过,补入既有真实PowerShell7.6.6后同完整87例零skip通过。没有把当前 hosted CI、物理Windows或作者的最低Python版本结果继承为本次证据。

Intentional runtime delta is first Application selection; full v2 clear and Host requirements were already implemented in unchanged owners. No default scheduling/quota/CI change. Actual macOS PowerShell/native TS and real File/SQLite state; not physical Windows or hosted CI, no paid model/live Goal effects. CI按 wait_for_ci=false未查询、轮询或等待。既有前端/Lark/配置入口没有新增页面;这份源码评审不代表安装采用或模型遵守。

我的整体评价

APPROVE。真实运行时增量和现行合同维护有独立证据,未发现当前代码阻塞。当前 PR 可独立交付双 Node 的真实 launcher 修复和 Host/配置继承的合同回归;完整 CI critical path、依赖采用及正式安装分别由原 owner 验证。 现有预算 advisory、依赖与合并权限继续分开;没有安装、合并或撤销其他评审。

English verdict: APPROVE — exact head bce869f1b1a9d0ebab278180c6e700225d6945df. The real dual-Node PowerShell regression is fixed;87 actual focused cases and the frozen-base counterexample qualify this bounded transport change. The unchanged architecture advisory, hosted/physical-Windows, dependency and installed/merge qualifications remain separate. This COMMENTED author-account fallback grants no merge authority.

Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=xhigh

@huangruiteng
huangruiteng merged commit d753bd9 into main Oct 12, 2026
12 of 24 checks passed
@huangruiteng
huangruiteng deleted the codex/ci-qualification-contracts-20261013 branch October 12, 2026 18:04
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.

2 participants