Repository navigation
fix: round-4 batch-1 — rollback failure branches (F2/F3/F4) + ReDoS-safe regexes (F1) - #6
Merged
Merged
Conversation
…xes ReDoS-safe
第四轮批次①(F1-F4,全部先见 RED):
- F1 CPP.007/CSP.001 内容类排除 `(`/`{`,病态输入 42.1s/61.5s → 亚秒;
新增 1s 预算计时守卫,L6 正负例零回归
- F2 bundle 改名备份失败(Windows 占用 WinError 32)不再触发"回滚删在用 bundle"
——touch 语义改为"改名成功才记账"
- F3 回滚恢复失败时保留唯一备份并打印路径;bundle+技能统一 renames 还原清单,
整体成功才销毁备份
- F4 技能 dest 先记账再 copytree(半成品可回滚清理),同名旧目录改名备份,
换页失败用户内容原样还原
- bundle 根仅入失败期清理清单,不进安装戳 files(账本语义不变)
voidvec
force-pushed
the
fix/round4-batch1-f1-f4
branch
from
September 27, 2026 06:19
03a737b to
c4e7997
Compare
wangrh0909
approved these changes
Sep 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
第四轮整改批次①(报告
docs/ROUND4-INCREMENTAL-CORRECTNESS-REVIEW.mdF1–F4,四条均为批次④新代码自身引入,全部先见 RED 再修):(/{,锚点回溯被截为 O(锚距);新增 1s 预算计时守卫(修复前该守卫 113.7s 红,修复后全套 12.2s 绿);L6 正负例零回归。bundle_touched置位先于改名备份,rename 失败(Windows 目录占用常态)时回滚把没动过的在用 bundle 删了。改为"改名成功才记账",失败路径 root 原封不动。renames还原清单,整体成功才删备份。rmtree无备份 + copytree 半成品不在回滚清单。改为 dest 先记账再落盘、旧目录改名备份(失败还原/成功才删);换页失败用户内容原样幸存。files(账本语义不变,测试锁定)。Test plan
pytest tests/ -q— 190 passed / 2 skipped(原 185 + ReDoS×2 + F2/F3 + F4;全套从 113s 病态红转为 12s 绿)check-consistency.py14 项、sync-assets 双侧--check、gen-host-artifacts --check全绿Depends on nothing(基于 master);与报告 PR #5 仅 CHANGELOG
[Unreleased]文案交叠,后合并者 trivial 解一次。