fix(strix): accept legal Packrat fixture paths - #800
Conversation
📝 WalkthroughWalkthroughStrix 변경 경로 정책이 쉼표와 ASCII 괄호를 허용하도록 변경되었습니다. 경로 순회와 셸 구문 문자는 계속 차단됩니다. 회귀 테스트와 GitHub Actions 품질 검사 워크플로가 추가되었습니다. ChangesStrix 경로 정책
Estimated code review effort: 3 (Moderate) | ~20 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
@opencode-agent @cwl-noema-review Review-only exact-head request for |
|
@coderabbitai review Review exact current head |
|
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.github/workflows/strix-changed-path-quality-ci.yml:
- Around line 6-9: Update the workflow’s paths configuration to include
docs/doctoring/strix-legal-git-paths.md and CHANGELOG.md so changes to either
contract file trigger validation. In the workflow test step, replace the
single-test-file invocation with the full suite command using coverage and
pytest against tests in quiet mode.
In `@tests/test_strix_changed_path_policy.py`:
- Around line 65-84: Reject raw “..” path components before normalization in the
changed-path normalizer, and add “safe/../target.txt” to the rejected cases in
tests/test_strix_changed_path_policy.py:65-84. Update
docs/doctoring/strix-legal-git-paths.md:20-29 to retain the traversal-rejection
claim only after this fix, and remove or limit the same fail-closed claim in
CHANGELOG.md:15 until the fix is applied.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 306ffc18-d8b4-4332-a38e-0f618add47b9
📒 Files selected for processing (5)
.github/workflows/strix-changed-path-quality-ci.ymlCHANGELOG.mddocs/doctoring/strix-legal-git-paths.mdscripts/ci/strix_quick_gate.shtests/test_strix_changed_path_policy.py
|
@coderabbitai review Review exact current head |
|
@opencode-agent @cwl-noema-review Review-only exact-head request for |
|
|
|
@coderabbitai review Please retry the exact-current-head review for |
|
|
|
@coderabbitai review Review exact current head |
|
I will verify the raw-traversal rejection boundary and the full-suite exact-head workflow. I will treat
|
|
Addressed the remaining Scorecard |
Buyer-visible blocker
The organization-required Strix gate failed before security analysis for
ContextualWisdomLab/aFIPC#160exact head804ea97cd83144f94c5020a9d42f2573cc8cb442. Its changed-file list contains the tracked historical Packrat fixture path:packrat/lib/x86_64-pc-linux-gnu/3.4.1/packrat/tests/testthat/Ugly, but legal, path for a project (long)/bread/DESCRIPTIONThe central normalizer rejected that legal path solely because comma and ASCII parentheses were absent from its bounded allowlist. This left a valid generated-dependency cleanup without exact-head Strix evidence.
Focused repair
(and)in the existing changed-path allowlist;..components beforeposixpath.normpath()can collapse embedded traversal such assafe/../target.txt;Test-first evidence
f070c504c1cb06891b800d7ab0cf6ac7d3cf8eae: historical Packrat path regression failed before the allowlist repair.27f632b5c7d350efdf6a19745eb787268d86e940:safe/../target.txtwas proven to pass incorrectly, andStrix Changed Path Quality CIfailed specifically on that candidate.a4f810dd53f64fe0b3d7f403888d9f3b9ff7fd93added the permanent dependency-integrity contract before the workflow implementation; it fails against the preceding workflow because--require-hashes, exact wheel digests, and its trigger path are absent.899 passed, 16 subtests passedafter rejecting raw traversal components and running the complete repository test suite.GITHUB_TOKENcorrectly refused to push a workflow-file modification withoutworkflowspermission. Authorized connector writes applied the workflow changes without broadening permissions, branch protections, credentials, or reviewer identities.Exact current head:
10ae16200bd049f91f2c724b8608ef93280dbaeb.Final scope
.github/workflows/strix-changed-path-quality-ci.ymlCHANGELOG.mddocs/doctoring/strix-legal-git-paths.mdscripts/ci/strix_quick_gate.shtests/test_strix_changed_path_policy.pytests/test_strix_workflow_dependency_hashes.pyMerge gate
Merge only after every exact-current-head CI, security, supply-chain, CodeRabbit, OpenCode, Noema, unresolved-thread, independent non-author approval, and branch-protection gate passes. Pending, queued, cancelled, skipped-required, absent, stale-head, failed, author-only, or predecessor-head evidence is not success. After merge, rerun the failed Strix evidence for unchanged
aFIPC#160exact head; do not reuse its predecessor failure or bypass the required check.