Skip to content

Test guard-only failure blocking in new-WSL render - #908

Merged
seathatflowsinourveins merged 1 commit into
mainfrom
codex/ns2604-guard-render-test-20261009
Oct 9, 2026
Merged

seathatflowsinourveins merged 1 commit into
mainfrom
codex/ns2604-guard-render-test-20261009

Conversation

@seathatflowsinourveins

@seathatflowsinourveins seathatflowsinourveins commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

Scope

Add a regression test against the actual new-WSL rendered settings.json: exactly one secret_path_guard.py command hook must be under PreToolUse with matcher Bash and onFailure == "block". Every other hook must omit onFailure entirely.

This draft targets main and contains one test commit above the landed guard change. Required designated GPT and CC reads, J8 for test code, CI and the pre-cue check remain landing gates; landing requires the command center's cue through 5f.

  • Base commit: 2489b8481042755586a2d2005125d5359627f6c4.
  • Lane: lane:foundation.
  • Owned paths touched: tests/test_new_wsl_client_config.py; its existing hash/byte row in manifests/evidence.json, refreshed on main's manifest through scripts.host_receipts.register_file.

SOTA sources

Evidence-class table

Claim Evidence class Command / receipt
The new assertion passes on actual output from the example-host new-WSL renderer local_integration tests.test_new_wsl_client_config rerun after the rebase: rc 0, 229 tests, OK
The assertion rejects a missing/wrong guard key, absent/duplicate guard, wrong event/matcher, and a non-guard key with either block or another value synthetic Eight in-memory mutations of the actual render each fail the assertion; unchanged render passes. The test and rendered guard template retain identical bytes after rebasing.
The registered test hash/bytes and repository integrity pass on main's manifest local_integration scripts/validate.py: rc 0; scripts/evidence_manifest.py --check: rc 0
Upstream introduced this field in Claude Code 2.1.295 source_review Pinned upstream changelog above

These checks cover rendered configuration. Live Claude Code execution behavior remains the parent PR's separately recorded evidence.

Local commands run

The check process ran under nice -n 10 ionice -c2 -n7; the commands below were run after the rebase.

python3 -B -c 'from pathlib import Path; from scripts.host_receipts import register_file; register_file(Path.cwd(), "tests/test_new_wsl_client_config.py")'
rc 0
timeout 600 python3 -m unittest tests.test_new_wsl_client_config
rc 0; Ran 229 tests; OK
timeout 600 python3 scripts/validate.py
rc 0; 10917 hashed files; status passed
timeout 600 python3 scripts/evidence_manifest.py --check
rc 0; 10917 files; status passed
git diff --check
rc 0

Decision record

The parent decision, docs/decisions/2026-10-08-guard-hook-fails-closed.md, documents the field and the render regression gap. This test closes that gap using the existing renderer fixture. Exact rendering regressions would fail the assertion; an independently supported change to the guard declaration would require reviewing the expectation.

Host evidence

No files under evidence/hosts/ are changed. Required designated reads, J8 for test code, CI and the pre-cue check remain landing gates.

Checklist

  • New/changed GitHub Actions are pinned to a full commit SHA with a version comment. No workflow change.
  • New/changed workflows declare top-level permissions: {} and grant each job only what it needs. No workflow change.
  • No secrets are printed, logged or committed; no new required secret was added without a documented owner.
  • No new paid hosting, subscription or billing surface was introduced.
  • Peer-owned untracked files and worktrees were preserved.

@seathatflowsinourveins seathatflowsinourveins added the lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers label Oct 9, 2026
Base automatically changed from claude/cc-claude-side-20261008 to main October 9, 2026 01:41
@seathatflowsinourveins
seathatflowsinourveins force-pushed the codex/ns2604-guard-render-test-20261009 branch from f5435d9 to ff56fe2 Compare October 9, 2026 01:47
@seathatflowsinourveins
seathatflowsinourveins marked this pull request as ready for review October 9, 2026 02:32
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-09T02:38:51.909808Z ff56fe2 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@seathatflowsinourveins
seathatflowsinourveins merged commit 2ecce6e into main Oct 9, 2026
36 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the codex/ns2604-guard-render-test-20261009 branch October 9, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane:foundation Foundation lane: Claude/Codex setup, hosts, memory, RAG, research, workers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant