Merge branch 'codex/claude-runner-default' into codex/claude-runner-platforms

* codex/claude-runner-default:
  style: remove added runner and import comments
This commit is contained in:
Dotta committed 2026-10-14 13:00:40 -05:00
commit bddff3c5e9
4 files changed
+23 -7

No files matched your search

@@ -1351,3 +1351,26 @@ The prior reconciliation report was uploaded to its original completed QA task
and independently byte-checked: attachment aabe2e7e-a8a0-4408-bc7e-a013e0f7485b,
5916 bytes, SHA256 3bd9bcfa64db6a3a7968952122b1a5c2ae27e24f0e4ff336fd47ae374bae8ff1.
Paid acceptance and budget/hold changes remain stopped pending human approval.
### Frozen runtime and comment-only review cleanup — 2026-10-14
Protocol dd82936c1d has current 5/5 review and green CI 38609018629.
Platform 2646b94533 has current 5/5 review and green CI 38609191818.
Behavior 05a98b6cbf received one style finding for added code comments.
Removing its seven specified comment lines across three files produces identical
comment-free esbuild output for each file; the SHA256 comparison is retained in
/private/tmp/claude-comment-cleanup-equivalence-20261014.json. No executable
behavior changes, so package campaign 38610086180 and qualification-image
campaign 38610152781 retain their literal 2646b94533 runtime source identity.
They do not become proof of a later source revision by relabeling.
The full Product E2E support checks pass 2733 Vitest and 128 node:test controls.
The behavior static lane observed a transient atomic .tmp record in an unchanged
build-stamp concurrency fixture; its exact local control passes. The original
failed attempt and one requested failed-job rerun remain recorded.
A read-only QA budget audit now succeeds on 3115: six confirmed policies have
zero live runs; four remain paused with pending accounting, and an older policy
is unavailable. Historical reservations remain conservative. No hold, limit or
paid run was changed. The two previously colliding foreign port listeners remain
present and untouched; retrying that exact old session is not execution proof.
@@ -77,14 +77,12 @@ function resolveClaudeRunnerConfig(config: Record<string, unknown>): Record<stri
return { ...translated, ...(effort === undefined || effort === "" ? {} : { modelReasoningEffort: effort }), provider: "acpx", acpxAgent: "claude", model, acpxPermissionMode: translated.acpxPermissionMode ?? "approve-all", lifecycleMode: config.lifecycleMode ?? "per_turn" };
}
/** Idempotent translation. Missing dependencies or credentials never select another runner. */
export function resolveNewAgentRunner(input: AgentRunnerSelection): { adapterType: string; adapterConfig: Record<string, unknown> } {
const adapterType = input.adapterType ?? "process";
let config = { ...input.adapterConfig };
const harness = agentHarnessType(adapterType, config);
const native = adapterType === "paperclip_runner";
if (["codex_local", "claude_local"].includes(adapterType) && getDisabledAdapterTypes().includes(adapterType)) throw unprocessable(`${adapterType === "claude_local" ? "Claude" : "Codex"} is disabled on this instance. Enable its adapter or choose another harness.`, { code: "agent_runner_unavailable" });
// Explicit saved native profiles (including historical provider omission) retain execution.
if (native && (input.runner === undefined || input.runner === "paperclip" || (harness !== "codex_local" && input.runner !== "legacy"))) return { adapterType, adapterConfig: normalizeLegacyRunnerProvider(config) };
const availability = agentRunnerAvailability(harness, input.target);
const choice = input.runner ?? "auto";
@@ -5644,8 +5644,6 @@ export function companyPortabilityService(db: Db, storage?: StorageService) {
runner = agentRunner(existingImportAgent.adapterType);
}
}
// The picker sends harness identity for config edits. Keep a saved
// native profile, including on a source-built unqualified platform.
const retainedNative = runner === "paperclip" && ["codex_local", "claude_local"].includes(selectedHarness)
? [manifestAgent, existingImportAgent].find((agent) => agent?.adapterType === "paperclip_runner"
&& agentHarnessType(agent.adapterType, agent.adapterConfig) === selectedHarness)
-3
View File
@@ -1753,9 +1753,6 @@ export function CompanyImport() {
if (agent.adapterType === "paperclip_runner" && selectedType === agent.adapterChoice
&& ["codex_local", "claude_local"].includes(selectedType) && configVals.adapterType === selectedType
&& agentHarnessType("paperclip_runner", configVals.adapterSchemaValues) === selectedType) {
// Project only real form changes onto the saved native configuration.
// Form defaults must not replace bindings or runtime fields; explicit
// clears must not be filled back in from the source either.
const original = importAdapterValues(selectedType, agent.adapterConfig, agent.adapterType, configVals.runner);
const baseline = build(original);
const retained = { ...agent.adapterConfig };