chore(input): align codex tooling docs

This commit is contained in:
2025-10-15 18:11:24 -05:00
parent 7ee188f270
commit b01b9fb413
5 changed files with 134 additions and 20 deletions

View File

@@ -23,7 +23,7 @@ cd input/Docker
- Environment variables you can pass before the command:
- `POLL_INTERVAL_SECONDS` watcher polling cadence (default `5`).
- `CODEX_TIMEOUT_SECONDS` hard timeout for Codex calls (default `600`).
- `CODEX_CONFIG_DIR` optional override for the host directory that should mount into `/home/codex/.codex`.
- `HOST_CODEX_DIR` optional override for the host directory that should mount into `/home/codex/.codex`.
The container bundles the Codex CLI and expects the caller to mount their `~/.codex` directory for credentials.
@@ -44,4 +44,4 @@ cd input/Docker
## Troubleshooting
- If Codex CLI fails, the job description moves to `ForCustomizing/failed/`. Check container logs, adjust the Markdown, then requeue it.
- Fatal errors (multiple resumes, multiple job descriptions, missing template, or missing Codex binary) stop the container. Resolve the issue and restart via the wrapper.
- The watcher logs the exact `codex prompt --input … --output … --format markdown` command before each invocation; inspect container logs if troubleshooting is needed.
- The watcher logs the exact `codex exec - --output-last-message … --skip-git-repo-check --sandbox read-only` command before each invocation; inspect container logs if troubleshooting is needed.

View File

@@ -17,5 +17,7 @@ services:
- ../ForCustomizing/failed:/workspace/failed
- ../resume:/workspace/resume:ro
- ../templates:/templates:ro
- ${CODEX_CONFIG_DIR:-/workspace/.codex}:/home/codex/.codex
- ${HOST_CODEX_DIR:-${HOME}/.codex}:/home/codex/.codex
- /etc/localtime:/etc/localtime:ro
- /etc/machine-id:/etc/machine-id:ro
- /var/lib/dbus/machine-id:/var/lib/dbus/machine-id:ro

View File

@@ -9,27 +9,20 @@ fi
if docker compose version >/dev/null 2>&1; then
COMPOSE_CMD=(docker compose)
elif command -v docker-compose >/dev/null 2>&1; then
elif command -dv docker-compose >/dev/null 2>&1; then
COMPOSE_CMD=(docker-compose)
else
echo "Error: docker compose plugin or docker-compose binary is required." >&2
exit 1
fi
CALLER_UID=$(id -u)
CALLER_GID=$(id -g)
DEFAULT_CODEX_CONFIG="${HOME}/.codex"
CODEX_CONFIG_DIR=${CODEX_CONFIG_DIR:-${DEFAULT_CODEX_CONFIG}}
mkdir -p "${CODEX_CONFIG_DIR}"
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
HOST_CODEX_DIR=${HOST_CODEX_DIR:-${HOME}/.codex}
mkdir -p "${HOST_CODEX_DIR}"
(
cd "${SCRIPT_DIR}"
LOCAL_UID="${CALLER_UID}" \
LOCAL_GID="${CALLER_GID}" \
CODEX_CONFIG_DIR="${CODEX_CONFIG_DIR}" \
HOST_CODEX_DIR="${HOST_CODEX_DIR}" \
"${COMPOSE_CMD[@]}" "$@"
)

119
input/ForCustomizing/jd-test.txt Executable file
View File

@@ -0,0 +1,119 @@
Subject:
URGENT Job Opportunity in Senior IT Engineer in Richardson TX
From:
<mandeep@infotreeglobal.com>
Date:
10/15/2025, 9:04 AM
To:
<reachableceo@reachableceo.com>
Hi,
This side Mandeep from Infotree Global. I have a job opening for you as a Senior IT Engineer in Richardson TX. If you are looking for job change, please share your resume @ mandeep@infotreeglobal.com.
Job Title: Senior IT Engineer
Job Location: Richardson TX
Duration :- 6 months
Responsible for architecting, deploying, and supporting information (IT) and operational technology (OT) solutions for one of our most mission critical manufacturing sites and growing businesses in Richardson, Texas.
Will work closely with cross-functional teams to design, develop, and deploy innovative infrastructure and software solutions to digitize and optimize semiconductor related manufacturing and business operations.
The Full Stack Engineer will be responsible for operational support of Server Infrastructure both virtual and physical. You will work in VMware, Windows & Linux Server Architecture & Administration. You will be helping to deploy and support our initial Kubernetes Container-based application environments and to grow that technology base.
This site will be leveraging increasing AI based semiconductor centric automation, equipment integration, fault detection (FDC), and advanced process control (APC) solutions within manufacturing that will have this role deploying and supporting bleeding edge infrastructure.
Key Responsibilities
• Operational support of on-premises server stacks and technology. Working with Corporate IT teams to maintain as much to standards as possible but focused on the tier 1 24 X 7 mission critical needs of the site.
• Work with Hyper-Converged Infrastructure technology platforms such as Dell VXRail and newer.
• Troubleshoot performance issues related to virtualized and physical server workloads.
• Facilitate implementation of new technology stacks and migration of workloads from physical servers to virtualized instances wherever possible.
• Work with semiconductor process and equipment vendors to continually evolve infrastructure for the best performance and fault tolerance.
• Participate in calls / meetings with site and corporate team members to address and troubleshoot application and or infrastructure related issues.
• Participate in daily tier meetings with factory systems and manufacturing operations teams.
• Work with Corporate IT and Honeywell Global Security to maintain all infrastructure to corporate and semiconductor cyber security standards.
MUST HAVE
• Bachelors Degree
• 5+ years of experience in operational support of enterprise server ecosystems
• 5+ years of experience with Windows Server OS and RHEL LINUX 5-9.X
• 3+ years of experience with ServiceNow or another similar formal Service Management platform and/or methodology
• 3+ years of experience with virtualization platforms such as Vmware,, vSAN, Vsphere, and VCF/NSX
• 1+ years of experience with Docker and Kubernetes for container orchestration.
• Experience with one or more of the following: Server automation activities or Infrastructure as code - Tanium, CHEF, JSON, Powershell, Ruby, or other scripting languages.
• Experience with network fundamentals such as - Firewall configuration, VPN setup, VLANs, subnetting, IP addressing, DNS, DHCP, NAT, routing, and switching.
• Experience with backup, disaster recovery, and technology resilience strategies / processes.
• Must demonstrate proficiency in documenting infrastructure, automation scripts, and system configurations to ensure clarity, maintainability, and operational continuity.
VALUED
• Advanced Degree preferably in Information Technology, Computer Science, or Computer Engineering.
• Experience with Windows patching tools such as Tanium and Windows security standards & OS Hardening concepts
• Experience in all aspects of the software development lifecycle including requirements gathering, design, coding, testing and production support
• Experience with support of Network infrastructure such as Cisco Nexus & Catalyst switches
• Experience with support of contemporary data recovery products such as Rubrik
• Experience with support of IT/OT systems and applications, including network implementation & segmentation, equipment integration and automation, and manufacturing execution systems (MES)
• Understanding of supervisory control and data acquisition (SCADA), manufacturing focused Windows-based PCs and servers, and industrial network architectures and how to effectively support these technologies.
• The ability to be a change agent and promote positive change in the organization
• Excellent oral, written and collaborative communication skills.
• Skilled in partnering with internal customers at all levels to define problems, identify solutions, and facilitate change.
• A self-starting, self-driven individual, working to remain motivated and efficient with minimum oversight..
Kind Regards,
Mandeep Singh
Phone: 734-228-4349 ext. 1105 FAX: 734-927-9390
EMAIL: Mandeep@infotreeglobal.com globalwww.infotreeglobal.com
Mailing Address: 215 Ann Arbor Rd. Suite 304 Plymouth, MI 48170
logo_3
Follow Us On:
Please consider the environment before printing this e-mail.

View File

@@ -13,11 +13,11 @@ The human operator reviews the Codex output Markdown, makes any edits, and then
## Container Stack
The watcher lives in `input/Docker/`:
- `Dockerfile` builds a Node/Python base image, installs gosu, and prepares a non-root `codex` user.
- `Dockerfile` builds a Node/Python base image, installs the Codex CLI, and prepares a non-root `codex` user.
- `watch_and_customize.py` polls the inbox, validates preconditions, resolves both templates (normalizer and customization), cleans the job description, builds prompts, runs Codex twice, and routes files.
- `entrypoint.sh` maps the container user to the callers UID/GID and ensures shared directories exist.
- `run-input-processor.sh` wrapper around `docker compose` that mounts your `~/.codex` directory and forwards CLI arguments.
- `docker-compose.yml` defines the container, volumes, environment variables, and restart policy (`no` so fatal errors halt the stack).
- `run-input-processor.sh` wrapper around `docker compose` that resolves your Codex config directory (`${HOST_CODEX_DIR:-${HOME}/.codex}`) and forwards CLI arguments.
- `docker-compose.yml` defines the container, volumes (including machine-id bindings required by the Codex CLI), environment variables, and restart policy (`no` so fatal errors halt the stack).
### Templates
- baked normalizer prompt (`input/Docker/JobDescriptionNormalizerPrompt.md`) ships with the container; customize by editing the image.
@@ -26,12 +26,12 @@ The watcher lives in `input/Docker/`:
### Codex CLI
- The container image installs the official Codex CLI and expects credentials/configuration from the mounted `~/.codex` directory on the host.
- No additional command-line customization is required; the watcher invokes `codex prompt --input … --output … --format markdown` internally for both passes.
- The watcher pipes prompts directly to `codex exec - --output-last-message <path> --skip-git-repo-check --sandbox read-only`, so no additional command-line customization is required from operators.
### Key Environment Variables
- `POLL_INTERVAL_SECONDS` watch loop delay (defaults to 5).
- `CODEX_TIMEOUT_SECONDS` wall-clock timeout for each Codex call (defaults to 600).
- `CODEX_CONFIG_DIR` host path to mount as `/home/codex/.codex` (defaults to `${HOME}/.codex` via the wrapper).
- `HOST_CODEX_DIR` host path that mounts into `/home/codex/.codex` (defaults to `${HOME}/.codex` via the wrapper).
### Prerequisites
- Docker Engine with the Compose plugin (`docker compose`) or the standalone `docker-compose` binary.