| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
test(contracts): pin the GitCode unshallow fail-closed guarantee The mirror pins fetch-depth 0 for full-history secret scanning; the GitCode equivalent is the unshallow step, which currently runs fail- closed (a failed unshallow exits 1) but nothing pins either property. Removing the step or softening the failure would silently degrade the scan to partial history with no test signal - the last parity residual. validateSecurityUnshallow requires git fetch --unshallow plus the exit-1 failure handling; two mutations prove both regressions are caught. 5.4 folds the guarantee into the existing security bullet. Refs #628 Co-Authored-By: Claude Code <noreply@anthropic.com> | 4 天前 | |
fix(review): reuse empty config dir in system auth case, keep single trap Bash replaces same-signal traps, so the second RETURN trap added with the mirror section silently disabled the first one and leaked the unauth section's temp dir on every read-suite run (found independently by three review roles). Reuse the existing read-only empty config dir instead, restoring the single-trap pattern the other case files follow; verified zero temp-dir accumulation across a full read-suite run. Refs #623 Co-Authored-By: Claude Code <noreply@anthropic.com> | 10 天前 | |
test: cover the record-mode validator under CI section_content carries ~20 lines of real branching (comment skipping, early break, placeholder filtering in two shapes) that no CI path ever exercised: the make targets run template mode only, so a record-mode regression would be completely silent (issue 629, flagged in the !601 review). Add tests/test_validate_ai_record.py following the importlib pattern of test_verify_remote_facts: section semantics (comments, both placeholder shapes, mixed list lines), list/heading field coexistence, record-mode negatives (emptied / comment-only / unreplaced placeholder / the mixed-draft evidence bypass three reviewers converged on), and the factory behaviour - templates as shipped must fail record mode exactly like the ten list-style kinds. Wire all three Python test modules into the GitHub ubuntu test job (previously only test_wrapper ran; test_verify_remote_facts was written but never executed in CI) and sync the 5.4 job-table wording. Workflow structure invariants are untouched - steps are the contract's declared uncovered dimension. Refs #629 Co-Authored-By: Claude Code <noreply@anthropic.com> | 4 天前 | |
fix(script): verify-remote-facts uses encoding=utf-8 for gc JSON output | 2 个月前 | |
fix(install,doctor): close channel-detection gaps from the fifth review yarn v1's Windows default global layout (%LOCALAPPDATA%\Yarn\Data\global) never matched the yarn refusal — the marker comparison was case-sensitive and lacked the Data segment, so yarn symlinks fell through to adoption. All channel-symlink surfaces now match case-insensitively (error details keep the original text) and yarn recognizes the Data-layout variant. bun global installs (~/.bun/install/global/...) adopted the same way; refuse them like pnpm/yarn with "bun remove -g" guidance. A project-level pnpm .bin link got the global "pnpm remove -g" advice; the store-layout hit now says to remove in the owning project instead. isPnpmEnvironment aligns with the installer's marker set: a realpath fallback recognizes custom-named PNPM_HOME roots via the global/<ver>/.pnpm/ store layout, so shell-invoked global bins are no longer misrecorded as npm-local. uv and pipx console scripts get their own uninstall guidance (uv environments often have no pip). The Python wrapper lower-cases the uv prefix check (custom UV_TOOL_DIR casing). doctor scans every PATH directory for leftovers — an interrupted install leaves temp files before any gc entry exists in the target directory, which the candidate-based scan missed. Fifth review P3 backlog, issue 607 items 1-6. Co-Authored-By: Claude Code <noreply@anthropic.com> | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 天前 | ||
| 10 天前 | ||
| 4 天前 | ||
| 2 个月前 | ||
| 1 个月前 |