[codex] route parity + zeroclaw dual-repo orchestration toolkit #2
Reference in New Issue
Block a user
Delete Branch "codex/killlife-route-parity-gate-issue-1"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
This branch now addresses two coordination gaps in
Kill_LIFE:RTC_BL_PHONE+le-mystere-professeur-zacususing ZeroClaw with connected USB boards.Without these controls, regressions appear in two places:
Root Cause
Operational tooling lacked a single, scripted path to:
rtcvszacus),What this PR changes
Existing part retained (route parity)
tools/gates/route_parity_check.pyNew part added (ZeroClaw dual orchestration)
tools/ai/zeroclaw_dual_bootstrap.sh<repo>/.zeroclaw/config.tomlfor RTC + Zacusconfig.toml,workspace/)zeroclaw statusfor both repo workspacestools/ai/zeroclaw_dual_chat.shrtc,zacus, or explicit path-m,--interactive, and--hardwarecopilot->openai-codex->openrouterspecs/zeroclaw_dual_hw_orchestration_spec.mdspecs/zeroclaw_dual_hw_todo.md.github/workflows/zeroclaw_dual_orchestrator.ymlspecs/README.mdand.gitignoreupdatesEffect on users/operators
Validation performed
shellcheck tools/ai/zeroclaw_dual_bootstrap.sh tools/ai/zeroclaw_dual_chat.shbash -n tools/ai/zeroclaw_dual_bootstrap.shbash -n tools/ai/zeroclaw_dual_chat.shtools/ai/zeroclaw_dual_bootstrap.sh --hardware-onlytools/ai/zeroclaw_dual_bootstrap.shtools/ai/zeroclaw_dual_chat.sh rtc --hardwaretools/ai/zeroclaw_dual_chat.sh rtc -m "ping"(expected failure path validated with clear provider guidance when no credentials are configured)Cross-repo coordination artifacts
Notes
~/.codex/skills/zeroclaw-dual-hw-orchestrator.@codex review
Coordination update:\n\n- Follow-up CI baseline issue opened: https://github.com/electron-rare/Kill_LIFE/issues/3\n- Companion adoption issues opened:\n - RTC: https://github.com/electron-rare/RTC_BL_PHONE/issues/12\n - Zacus: https://github.com/electron-rare/le-mystere-professeur-zacus/issues/94\n\nCurrent PR content is limited to the route-parity gate pattern and docs integration (issue #1 scope).
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit:
cf447b1d2aℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
@@ -0,0 +16,4 @@from pathlib import PathROUTE_RE = re.compile(r"/api/[A-Za-z0-9._~!$&'()*+,;=:@/%-]*")The route regex includes
$, so frontend template literals likefetch(`/api/users/${id}`)are extracted as/api/users/$instead of the underlying route prefix. That makesfrontend_missing_in_backendnon-empty even when the backend does expose the route, causing false gate failures in common JS code paths that interpolate IDs.Useful? React with 👍 / 👎.
@@ -0,0 +101,4 @@print("[route-parity] FAIL: frontend routes missing in backend:")for route in frontend_missing_in_backend:print(f" - {route}")return 1This gate returns PASS when the backend and/or frontend globs match zero files, because success is based only on
frontend_missing_in_backend. In CI, a typoed glob or a repo layout change would silently bypass the parity check and still produce a green build, which undermines the protection this gate is meant to provide.Useful? React with 👍 / 👎.
Codex self-review (focused on new ZeroClaw orchestration changes):
shellcheckfortools/ai/zeroclaw_dual_bootstrap.shandtools/ai/zeroclaw_dual_chat.sh.copilot->openai-codex->openrouter)..github/workflows/zeroclaw_dual_orchestrator.ymlpasses on this PR (lint-and-contract).Current failing checks are legacy workflows unrelated to these files; triage should be handled separately.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit:
b72fa3d53bℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
@@ -0,0 +16,4 @@from pathlib import PathROUTE_RE = re.compile(r"/api/[A-Za-z0-9._~!$&'()*+,;=:@/%-]*")The route pattern currently allows characters like
',)and;, so common frontend code such asfetch('/api/users');is extracted as/api/users');instead of/api/users. In repositories that use single-quoted JS strings, this produces falsefrontend_missing_in_backendfailures even when the backend route exists, which makes the gate unreliable for normal usage.Useful? React with 👍 / 👎.
@@ -0,0 +60,4 @@continuefor route in ROUTE_RE.findall(content):# Normalize accidental trailing slash-only duplicates.normalized = route.rstrip() or routeThe normalization step uses
route.rstrip(), which only trims whitespace and does not remove trailing/despite the comment saying trailing-slash duplicates should be normalized. If frontend code references/api/foo/while backend sources expose/api/foo, the gate reports a missing route even though those endpoints are often treated equivalently, causing avoidable parity failures.Useful? React with 👍 / 👎.
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit:
190d424aaaℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
@@ -0,0 +3,4 @@ROOT_DIR="/Users/cils/Documents/Lelectron_rare/Kill_LIFE"ART_DIR="${ZEROCLAW_ART_DIR:-$ROOT_DIR/artifacts/zeroclaw}"ZEROCLAW_BIN="${ZEROCLAW_BIN:-$ROOT_DIR/zeroclaw/target/release/zeroclaw}"This script hard-codes
ROOT_DIRto/Users/cils/..., which makes the defaultART_DIRandZEROCLAW_BINmachine-specific. On any runner or developer host without that exact filesystem layout,mkdir -p "$ART_DIR"fails before the binary fallback logic can run, so the stack cannot be started with default settings. Please derive paths from the script location (or require explicit env/args) instead of embedding a single user path.Useful? React with 👍 / 👎.
@@ -0,0 +167,4 @@for _ in $(seq 1 40); doif curl -fsS "http://$GATEWAY_HOST:$GATEWAY_PORT/health" >/dev/null 2>&1; thenbreakThe health probe loop retries
/healthbut does not verify success after retries are exhausted, and execution continues into pairing/dashboard setup regardless. If gateway startup fails (for example due to bind errors or an invalid binary invocation), the script still appears to succeed and downstream steps fail later with less actionable errors. Add a post-loop readiness check and exit non-zero when the gateway is still unhealthy.Useful? React with 👍 / 👎.
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.
Codex review update:
badgesworkflow switched to best-effort coverage mode for baseline stability on PRs.Recommendation: merge.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit:
69edf6bff4ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
@@ -17,1 +19,4 @@elseecho '{"status":"skipped","reason":"gitleaks not installed"}' > docs/secret-scan-report.jsonfi- name: Scan secrets (TruffleHog)This workflow now treats missing
gitleaks/trufflehogas a successful run by writing a synthetic"skipped"JSON and continuing, which means the secret-scan gate can go green without scanning anything whenever those binaries are absent on the runner. Because this job has no install step for either scanner, that fail-open path is a realistic CI configuration drift and removes the protection this workflow is meant to provide.Useful? React with 👍 / 👎.
@@ -0,0 +3,4 @@ZEROCLAW_BIN="${ZEROCLAW_BIN:-/Users/cils/Documents/Lelectron_rare/Kill_LIFE/zeroclaw/target/release/zeroclaw}"RTC_REPO="/Users/cils/Documents/Lelectron_rare/RTC_BL_PHONE"ZACUS_REPO="/Users/cils/Documents/Lelectron_rare/le-mystere-professeur-zacus"The
rtc/zacusaliases resolve to hard-coded/Users/cils/...paths, so the documented alias flow fails immediately on any machine where those repos live elsewhere (Workspace not found) before provider resolution runs. Since this script has no--rtc/--zacusoverride flags, users must abandon aliases and pass full paths every invocation, which breaks the intended deterministic workspace switch behavior.Useful? React with 👍 / 👎.