Skip to content

fix(cli): preserve selected-model validation in Session create recovery - #1082

Draft
Dante-dan wants to merge 9 commits into
LodyAI:mainfrom
Dante-dan:fix/956-cross-machine-create
Draft

Dante-dan wants to merge 9 commits into
LodyAI:mainfrom
Dante-dan:fix/956-cross-machine-create

Conversation

@Dante-dan

@Dante-dan Dante-dan commented Sep 28, 2026 •

Copy link
Copy Markdown
Contributor

Related issue

Closes #956

Problem / pressure

Four accepted Session creates stayed non-durable and were eventually cancelled. The source daemon logs now identify the first failure: acceptance validated reasoning_effort=medium for gpt-5.6-sol, but the frozen Operation kept only the translated ACP option. Recovery checked that option against a capability snapshot probed on gpt-6-sol, where effort was absent, then retried the deterministic rejection. The earlier diagnostic change preserved the failure message but could not repair this boundary.

Summary

  • Preserve option IDs already validated against the selected model in each frozen target dispatch config, including batch creates. Recovery uses those IDs when checking a probe snapshot from another model.
  • End deterministic create selector validation failures as non-retryable COMMAND_REJECTED items. Ambiguous transport and target-write failures retain their bounded retry and stored last-error diagnostic.
  • Add regression coverage for the reported cross-model effort combination, frozen-store round trip, and terminal coordinator behavior. Update the draft orchestration Spec and decision notes.

Visual explanation

flowchart LR
  A[Accept create: validate target model] --> B[Freeze concrete config + validated IDs]
  B --> C[Recover and check frozen selection]
  C -->|valid| D[Write target input]
  C -->|selector rejected| E[Terminal COMMAND_REJECTED]
  D -->|uncertain write| F[Bounded retry with last error]
Loading

Before / after

Before After
A valid effort for the requested model was lost at the freeze boundary and rejected during replay against the probed model. Replay retains the selected-model validation and can materialize the accepted input.
Deterministic selector rejection retried until cancellation or deadline. It ends the item with the original actionable validation error.

Test plan

  • Merged current main at 0f4e64a6567d6de06ca455a0818823cb6eb2aca6. On this merged tree, the Session create, Operation store/coordinator, and managed-runtime suites passed: 235 tests. CLI typecheck, full workspace formatting check, docs status/check, and diff check passed.
  • The previous CI run passed the test groups and desktop smoke, but Static checks rejected formatting in the synthetic merge's managed-agent-runtime.test.ts. The head alone passed formatting. The updated branch incorporates current main and passes the same full formatting command locally; fresh CI must confirm the new merge result.
  • The preceding lockfile repair synchronized the inherited Codex dependency; frozen-lockfile consistency passed across 22 projects. The lock update and runtime-manifest fix are now included in current main. On the preceding tree, workspace typecheck, lint (0 errors), script tests (38), i18n, and import/platform/public boundary checks passed. Its full pnpm check was terminated at the hourly boundary (exit 143), so no passing full-suite result is claimed.
  • No passing CI result is claimed for this new head. No live cross-machine macOS run was available.

Context handoff

Original user prompt

The user authorized this contribution round with the following exact instruction. The case-specific implementation direction was prepared by the assistant from issue feedback, not written by the user:

Show original prompt
优先处理本人已有 issue/PR 的新反馈,再按 scan-coverage.md 推进增量与存量候选。collector 已运行时不重复全库采集。

Sharing refusal (verbatim)

Lody的明确拒绝就好了,omp 的按照你的建议直接发送就好了,这些我都 review 过了。看起来没问题。 我让你发送的提示词本身就是原创说明啊

Shared conversation

Status: user-declined
Reason: The user explicitly chose refusal for Lody authoring conversations in the reply quoted above.

Preserve the frozen create validation and diagnostic changes while integrating current local orchestration. Relevant regression suites passed; full local check encountered sandbox data-directory failures.

Model: gpt-6.1-sol
The core Session config, Operation store and coordinator regressions passed (199 tests), as did CLI typecheck and the targeted Git identity and sidebar suites. Three additional suites could not load because the inherited Codex runtime manifest and dependency versions disagree. Full local check is not passing.

Model: gpt-6.1-sol
Match the Codex submodule manifest already pinned by the current merge. Frozen-lockfile consistency passes across all 22 workspace projects, along with the 199 Session and Operation regression tests. Full pnpm check is still running; no passing full-suite result is claimed.

Model: gpt-6.1-sol
Resolve the CI merge-ref divergence against current main before revalidating the existing recovery fix.

Model: gpt-6.1-sol

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Cross-machine lody_session_create is accepted but no durable session is created

1 participant