fix: reject unsafe sync skill names - #88
Conversation
Agent: Trebius
|
[REVIEW] NO_GO — #88 @ 74cce4c — lens: named-containment-remediation, reviewer /root/hotfix_reviewer (1 of 1) Focused scope: the named path-containment P1 from #87 and direct regressions only. Blocking P0/P1 findings:
Runtime control, exit 0:
Required focused remedy:
Independent commands:
Non-blocking follow-ups: none. |
Agent: Trebius
|
Remediation cycle 1 pushed at The invalid-name check now runs before corpus resolution, so legacy migration cannot write before rejection. The regression first reproduced the migration ( The same reviewer is re-checking only the named blocking defect and direct regressions. |
|
[REVIEW] GO — #88 @ 129b982 — lens: named-containment-remediation, reviewer /root/hotfix_reviewer (1 of 1) Focused re-review scope: the previously named migration-before-rejection blocker, its fix, and direct regressions only. Independent runtime control, exit
The invalid traversal input still throws Validation:
Blocking P0/P1 findings: none. Non-blocking follow-ups: none. |
Summary
Why
The independent review of #87 reproduced a P1 unsafe mutation:
../../skills/todos-planwas restored as a raw name after normalization failed, then reused in filesystem joins. The landed code wrote outside.codewith/skills.Verification
bun run typecheck: exit 0bun run test: exit 0; 1076 pass, 1 skip, 0 fail; 6629 expect callsgit diff --cached --check: exit 0shield review: exit 0; no security issues found in staged changesFixes the blocking finding recorded on #87.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.