Repository navigation
rebase: port harness-tier support, wheel hardening and bridge host env to main - #432
Merged
Merged
Conversation
…v to main Ports the operative rebase work from feat/rebase-main-v0320 and fixes the six engine defects found while reviewing the v0.33 → main campaign runs: 1. Harness tiers (cursor/zcode/claude-code) are first-class rebase backends: `_tier_client` / `_harness_completion_client` route a `kind="harness"` tier straight to the session transport instead of an OpenAI-compatible client with an empty api_key; reviewer routing and the CI debug attempt follow the same path and carry their own completion signal. 2. Module attempt budgets are consistent end to end: the adapter declares `module_timeout_sec == module_max_timeout_sec`, the live prompt tells the agent the real `TEST_TIMEOUT_SEC`, and bridge polls stay below the client-side deadline (test pins the invariant). 3. The MCP tool bridge rebuilds the agent shell env from explicit spec facts (`host_env`: CUDA_VISIBLE_DEVICES / HF_HOME) rather than from whatever survived the transport's sanitized environment — no `os.environ` mutation, so the env guardrail stays intact. 4. Session read audit distinguishes reads outside the declared roots from refusals: upstream/venv roots are declared via `read_roots`, and an audit note is traced (`harness_read_audit`) instead of vetoing a completed module. 5. cursor-agent sessions that exit without a result event are reported as failures (exit code + stderr tail) rather than as empty successes. 6. Wheel step: `packaging` dependency declared, baseline venv for main-tracking campaigns, scratch kept on non-done exits so a blocked or crashed run is resumable; the knowledge parent-store block that blocked prelude on a fresh host is gone. Also: fixture trees under test/fixtures are excluded from collection (their conftest shadowed the suite's), repo-vocabulary ceilings updated for the identifier-level parity names only (prose neutralized), SPEC pages re-verified against 2026-10-27.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Reviewing the v0.33 → main rebase campaign runs surfaced six engine defects (two runs blocked before the first module; the module loop could not have succeeded past them). This PR ports the operative rebase work from the local
feat/rebase-main-v0320branch tomainand fixes all six.Fixes
_tier_client/_harness_completion_clientroute akind="harness"tier (cursor / zcode / claude-code) straight to the session transport; previously an OpenAI-compatible client was built with an emptyapi_key. Reviewer routing and the CI debug attempt use the same path and own completion signal (signals/module.<m>.done).module_timeout_sec == module_max_timeout_sec(the cap can no longer silently truncate the planned budget); the live prompt carries the realTEST_TIMEOUT_SECand keeps bridge polls under the client-side deadline (pinned by test)._agent_shell_envfrom spechost_env(CUDA_VISIBLE_DEVICES,HF_HOME) instead of relying on values the transport'ssanitized_env()had already dropped. Noos.environmutation;test_env_guardrailstays green.AgentSessionRequest.read_roots; reads outside the roots are traced (harness_read_audit) rather than vetoing an otherwise completed module.resultevent reports exit code + stderr tail as a failure (stop_reason="error"), not an empty success.packagingdeclared inpyproject; baseline venv for main-tracking campaigns; upstream scratch kept on non-done exits (blocked/crashed runs are resumable); the manifest's parent knowledge-store block that blockedpreludeon a fresh host is removed.Also
test/fixtures/**excluded from pytest collection (itsconftest.pyshadowed the suite's, breakingtest_chat/test_cli/test_phase_b).vllm_path,vllm_paths,omni_files); new prose was neutralized instead.Verification
Full
pytest -q testgreen locally;tools/check_spec_freshness.py --strict→ 0 stale;check_doc_links.py/check_doc_citations.pyOK;knowledge/tools/check_knowledge_tree.py/check_wiki_lint.pyOK.