Skip to content

P2 — Fix POSIX retarget symlink removal - #100

Closed
LogicDuke wants to merge 1 commit into
repair/pr84-cli-entry-aliasfrom
repair/pr99-posix-retarget-unlink
Closed

LogicDuke wants to merge 1 commit into
repair/pr84-cli-entry-aliasfrom
repair/pr99-posix-retarget-unlink

Conversation

@LogicDuke

Copy link
Copy Markdown
Owner

Finding: CURRENT / P2

Affected parent:

Repair:

  • commit: 990bcc7
  • subject: test(control): unlink POSIX retarget symlink

Defect:
The retarget regression hook used rmdirSync(alias) for both Windows junctions
and POSIX directory symlinks. On POSIX this can fail with ENOTDIR before the
alias is retargeted, so the adversarial regression does not execute correctly.

Repair mechanism:

  • Windows junction removal remains rmdirSync
  • POSIX symlink removal uses unlinkSync
  • retarget timing unchanged
  • retarget-happened assertion unchanged
  • DECOY assertion unchanged
  • silent-exit-0 assertion unchanged
  • production code unchanged

Validated candidate:

  • changed files: 1
  • patch SHA256:
    1AB2E0C41833D1BA5245C83F0CC61E81611CF8B661236C32E31C9E0654745A03
  • patch bytes: 1315

Validation:

  • fresh independent validation: PASS
  • focused retarget test: PASS
  • launch-lifecycle test: PASS
  • tests/control with real Windows native helpers: PASS
  • full suite forks-single: PASS
  • typecheck: PASS
  • lint: PASS
  • build: PASS
  • git diff --check: PASS

Scope:

  • tests/control/launch-lifecycle.test.ts only
  • no production changes
  • no CI changes

Separate finding:
A CURRENT/P3 Ubuntu CI coverage gap exists and is intentionally NOT repaired in
this PR.

This is a DRAFT nested validation PR beneath PR #99.
It MUST NOT be merged directly to PR #84 or main.

🤖 Generated with Claude Code

https://claude.ai/code/session_01W4mov2nqq6V54r3RAD6amh

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W4mov2nqq6V54r3RAD6amh
@coderabbitai

coderabbitai Bot commented Sep 11, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@LogicDuke LogicDuke closed this Sep 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant