test: gate symlink assertions on file symlink capability#95531
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 29, 2026, 1:45 AM ET / 05:45 UTC. Summary PR surface: Tests +10. Total +10 across 2 files. Reproducibility: yes. for the test reachability problem: current main still has a Zalo platform gate and a QQBot import-time capability probe, while PR head checks file-symlink capability inside each affected assertion. I did not run tests because this was a read-only review. Review metrics: none identified. Stored data model Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land this combined test-only replacement after maintainer and required-check review, then treat the open Zalo-only source PR as superseded if this branch lands. Do we have a high-confidence way to reproduce the issue? Yes for the test reachability problem: current main still has a Zalo platform gate and a QQBot import-time capability probe, while PR head checks file-symlink capability inside each affected assertion. I did not run tests because this was a read-only review. Is this the best way to solve the issue? Yes. The in-test file-symlink probe is the narrow maintainable fix because it tests the exact capability needed, avoids process.platform assumptions, and leaves runtime symlink rejection unchanged. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 5715744ea0c8. Label changesLabel justifications:
Evidence reviewedPR surface: Tests +10. Total +10 across 2 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
/clownfish rebase |
|
Clownfish picked this up and is swimming it through the narrow lane. 🐠 Command: I will keep the change narrow and update the PR branch if the repair worker finds a safe fix. |
8bcf5ce to
bc8fcfa
Compare
Co-authored-by: ANIRUDDHA ADAK <[email protected]>
bc8fcfa to
bc14842
Compare
) Co-authored-by: ANIRUDDHA ADAK <[email protected]>
) Co-authored-by: ANIRUDDHA ADAK <[email protected]>
) Co-authored-by: ANIRUDDHA ADAK <[email protected]>
) Co-authored-by: ANIRUDDHA ADAK <[email protected]>
What Problem This Solves
Current main skips the QQBot and Zalo symlink safety assertions based on
process.platform, so Windows hosts that can create file symlinks do not exercise the assertions, while restricted non-Windows hosts can still fail when symlink creation is unavailable.This carries forward the narrow test intent from #90223 and #90280 by @aniruddhaadak80, with attribution preserved for both source PRs.
Why This Change Was Made
The replacement keeps the change limited to the two affected test files. It moves file-symlink capability probing out of module import time, gates only the symlink assertions on actual file-symlink capability, keeps QQBot's local
it.skipIf(...)convention, and keeps Zalo's existingit.runIf(...)convention.This also addresses the hydrated Copilot review findings on the source PRs: avoid import-time filesystem side effects, avoid a Windows-only capability gate for QQBot, and avoid switching the Zalo file away from its existing Vitest pattern.
User Impact
No runtime behavior changes. The test suite should exercise symlink rejection wherever the host can create file symlinks and skip only the affected assertions where file symlinks are unavailable.
Evidence
1435fc123f276ac2c090775c1ccd152140c63a0bstill has the QQBot platform skip inextensions/qqbot/src/engine/utils/file-utils.test.tsand the Zalo platform run gate inextensions/zalo/src/token.test.ts.pnpm -s vitest run extensions/qqbot/src/engine/utils/file-utils.test.ts extensions/zalo/src/token.test.tspnpm check:changed/reviewmust be clean before opening/merging.Clownfish 🐠 replacement reef notes:
fish notes: model gpt-5.5, reasoning medium; reviewed against 85e11d6.