Skip the lane name guard for profile-only launches - #135
Conversation
Reviewer's GuideThe PR makes Sequence diagram for process-scoped profile-only guard exemptionsequenceDiagram
participant Launcher as workBenches launcher
participant Guard as lanes-edit.sh guard
participant HookInput as Hook input
participant LaneIdentity as Lane identity
Launcher->>Guard: Start process with CLAUDE_NO_LANE
alt CLAUDE_NO_LANE=1
Guard-->>Launcher: exit 0
else Other marker value or unset
Guard->>HookInput: Read prompt hook input
Guard->>LaneIdentity: Validate lane identity
LaneIdentity-->>Guard: Identity result
Guard-->>Launcher: Existing enforcement result
end
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
@codex review |
There was a problem hiding this comment.
Hey - I've reviewed your changes and they look great!
Sourcery assessment
Needs a human reviewer. The exact CLAUDE_NO_LANE=1 environment value becomes a silent trust-boundary bypass for the prompt guard, allowing prompts to run without lane identity checks or any failure signal. Reverting prevents future bypasses, but prompts and any resulting actions that occurred while the marker was active cannot be undone.
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Existing documentation still contradicts the newly introduced environment-based bypass.
Review effort: Balanced
Findings: 2
Open (2)
What changed in this PR
Adds a process-scoped exemption allowing profile-only Claude sessions to bypass the lane prompt guard.
Changes:
- Bypass
guardonly for exactCLAUDE_NO_LANE=1. - Add nine isolated launch-mode regression cases.
- Document the behavior through user and governance specifications.
| File | Description |
|---|---|
lanes-edit.sh |
Implements the guard exemption. |
docs/README-lanes.md |
Documents profile-only behavior. |
tests/test_guard_launch_mode.py |
Tests marker handling and command scope. |
tests/test_lane_helpers.sh |
Prevents inherited marker interference. |
tests/test_lane_helpers_suite.py |
Sanitizes the wrapper environment. |
specs/002-skip-no-lane-guard/spec.md |
Defines requirements and criteria. |
specs/002-skip-no-lane-guard/plan.md |
Records implementation strategy. |
specs/002-skip-no-lane-guard/tasks.md |
Tracks implementation and verification. |
openspec/changes/skip-no-lane-guard/.openspec.yaml |
Configures the OpenSpec change. |
openspec/changes/skip-no-lane-guard/proposal.md |
Explains motivation and impact. |
openspec/changes/skip-no-lane-guard/design.md |
Records design decisions and risks. |
openspec/changes/skip-no-lane-guard/tasks.md |
Tracks governance handoff. |
openspec/changes/skip-no-lane-guard/specs/profile-only-lane-guard/spec.md |
Defines normative scenarios. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 275c0be9ee
ℹ️ 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".
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".
|
@codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. Reviewed commit: ℹ️ About Codex in GitHubYour 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". |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e968c75390
ℹ️ 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".
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".
|
@codex review |
|
@codex review |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
@codex review |
|
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7068eb40c2
ℹ️ 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".
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".
|
|
||
| - [x] T001 Add the guard exemption and document its scope. | ||
| - [x] T002 Add regression cases for exact marker handling, unreadable identity and unaffected non-guard commands. | ||
| - [ ] T003 Run focused tests, syntax checks and governance validation; record results. |
There was a problem hiding this comment.
Finish canonical verification before landing
The verification block says the recorded canonical results predate the expanded infrastructure-probe cases and that the current 13-case run is merely queued, so this commit explicitly leaves its verification task incomplete. Run tests/run.sh -k 'guard_launch_mode or repo_hygiene', record the actual result, and check T003 before landing so the new early-exit behavior and repository-guidance changes have a valid result from the required serialized runner.
AGENTS.md reference: AGENTS.md:L209-L215
Useful? React with 👍 / 👎.







Summary
Profile-only launches opt out of the prompt name guard using the exact process
marker
CLAUDE_NO_LANE=1. The exemption applies only toguard, before it readshook input or lane identity; shared hooks remain installed for lane sessions.
workBenches feature 017 supplies and clears the marker according to the actual
launch mode. This PR lands first so its merged commit can be vendored there.
Verification
invalid input, identity-probe sentinels, argument handling and unaffected commands.
tests/run.sh -k 'guard_launch_mode or repo_hygiene'independently of the full lane-helper suite: 165 passed, 528 deselected.
Governance:
openspec/changes/skip-no-lane-guard/.Implementation:
specs/002-skip-no-lane-guard/.This work is performed outside a lane under Brett Heap's 2026-09-30 instruction
making lane attribution conditional on actual lane membership.
Summary by Sourcery
Honor the profile-only launch marker so prompts skip lane-name enforcement while lane sessions retain their existing guard checks.
New Features:
CLAUDE_NO_LANE=1marker.Bug Fixes:
Enhancements:
CI:
Documentation:
Tests:
Chores: