Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .github/workflows/validate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,22 @@ concurrency:
cancel-in-progress: true

jobs:
codex:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22"
- run: npm ci --prefix src/auto_mindsdb_factory/codex_bridge --ignore-scripts --no-audit --no-fund
- name: Check the pinned official CLI without authentication
run: |
probe_root=$(mktemp -d)
trap 'rm -rf "$probe_root"' EXIT
env -i HOME="$probe_root" PATH="$PATH" src/auto_mindsdb_factory/codex_bridge/node_modules/.bin/codex --version | tee "$probe_root/version"
test "$(cat "$probe_root/version")" = 'codex-cli 0.167.0'

anton:
runs-on: ubuntu-latest
timeout-minutes: 10
Expand Down
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ RUN test -n "$RAILWAY_GIT_COMMIT_SHA" \
&& git config --system --add safe.directory /app \
&& uv sync --locked --no-install-project \
&& .venv/bin/python scripts/install_anton.py .venv/bin/python \
&& node /opt/npm/bin/npm-cli.js ci --prefix src/auto_mindsdb_factory/railway_bridge --ignore-scripts --no-audit --no-fund
&& node /opt/npm/bin/npm-cli.js ci --prefix src/auto_mindsdb_factory/railway_bridge --ignore-scripts --no-audit --no-fund \
&& node /opt/npm/bin/npm-cli.js ci --prefix src/auto_mindsdb_factory/codex_bridge --ignore-scripts --no-audit --no-fund
ENV PATH="/app/.venv/bin:${PATH}" PYTHONPATH=/app/src HOME=/home/factory PYTHONUNBUFFERED=1
# Root only initializes ownership of the newly mounted volume. start.py drops to
# factory before Git, credential setup, polling or remote execution.
Expand Down
6 changes: 6 additions & 0 deletions docs/codex-action-boundary.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,11 @@ app-server, frozen instructions/configuration, scoped inference transport, actua
SDK integration tests and real coding/negative/cancellation proofs remain required.
Codex selection remains unavailable; no native or Anton behavior is changed.

The controller image installs the official CLI from `codex_bridge/package-lock.json`
using `npm ci --ignore-scripts`. The wrapper and every platform package are fixed
at 0.167.0 with npm integrity hashes. Linux CI runs `--version` with an empty,
temporary home and no authentication variables. Installation and this version
check do not establish runtime isolation, protocol integration or certification.

Protocol references: [official app-server documentation](https://learn.chatgpt.com/docs/app-server)
and [official configuration reference](https://learn.chatgpt.com/docs/config-file/config-reference).
137 changes: 137 additions & 0 deletions src/auto_mindsdb_factory/codex_bridge/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions src/auto_mindsdb_factory/codex_bridge/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"name": "ai-factory-codex-bridge",
"version": "1.0.0",
"private": true,
"dependencies": {
"@openai/codex": "0.167.0"
}
}
Loading