Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

CrossVendorAudit runs codex at reasoning effort "none" under the isolated CODEX_HOME

Closed Beginner friendly
#2,276 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 6 days

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
88/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
ai

Research direction

Start at LifeOS/install/LIFEOS/TOOLS/CrossVendorAudit.ts:413 and trace invokeCodex() and buildIsolatedCodexHome(). Run the provided isolated CODEX_HOME reproduction, then verify the audit invocation reports high reasoning effort; optional header recording should be treated separately from the required fix.

Written by the indexing model from the issue text.

Description

Thanks for the isolated CODEX_HOME in CrossVendorAudit.ts. Keeping a LifeOS-for-Codex persona out of the audit fixed a real problem here. It has one side effect I ran into, reported in case it helps.

What happens

buildIsolatedCodexHome() creates a fresh home containing only auth.json. Without a config.toml, nothing sets a reasoning effort, and the exec args at LifeOS/install/LIFEOS/TOOLS/CrossVendorAudit.ts:413 don't pass one. On codex-cli 0.159.3, codex then runs the audit at no reasoning effort. Its own session header says so:

model: gpt-5.6-sol
provider: openai
reasoning effort: none

So the cross-vendor pass that is supposed to catch what the Claude reviewers missed runs as a no-reasoning call.

Repro

H=$(mktemp -d); ln -s ~/.codex/auth.json "$H/auth.json"
echo "Reply with the single word ok." | CODEX_HOME="$H" codex exec \
  --sandbox read-only --skip-git-repo-check --ephemeral --model gpt-5.6-sol - 2>&1 | grep -i "reasoning effort"
# -> reasoning effort: none

With -c 'model_reasoning_effort="high"' added, the same command prints reasoning effort: high.

Suggested fix

Pass the effort explicitly in invokeCodex(), since the isolated home will never carry a config:

["exec", "--sandbox", "read-only", "--skip-git-repo-check", "--ephemeral",
 "-c", 'model_reasoning_effort="high"',
 "--output-schema", schemaPath, "--model", CROSS_VENDOR.forge, "-"]

I'm running that locally, and an end-to-end audit through the tool now reports high.

Optional: also record what codex's header says in the verdict. The model's self-reported model_used came back as "gpt-5" while the header said gpt-5.6-sol, so the header is the reliable source. Locally I parse ^model: and ^reasoning effort: from codex's stdout/stderr into codex_model / codex_effort and log both to cato-findings.jsonl. Then an audit that ran without reasoning shows up in the record instead of passing silently.

Happy to adjust if you'd rather set this in models.ts alongside the model ID.

Dominant language
TypeScript
Stars
19.3k
Forks
2.5k
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from danielmiessler/LifeOS

All issues in danielmiessler/LifeOS

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.