Skip to content

fix(shell): deterministic bug fixes + portability tests#3

Merged
KongFangXun merged 1 commit into
KongFangXun:mainfrom
HyperGroups:fix/shell-deterministic-bugs
Jun 25, 2026
Merged

fix(shell): deterministic bug fixes + portability tests#3
KongFangXun merged 1 commit into
KongFangXun:mainfrom
HyperGroups:fix/shell-deterministic-bugs

Conversation

@HyperGroups

Copy link
Copy Markdown
Contributor

应该是以v0.91几个可能的小修正,供参考。

我目前主要在Windows环境测试时,有时GNU Bash也会跑一些,然后不同的ai会扫出一些典型的明确的可能的bug。
Linux/Unix相关的的脚本我还示完整去跑测,不过不同的AI,Claude Code Opus,Qwen3.7,Cursor Composer2.5都跑了一些可能的bug,还是提交一下吧。

Consolidates fork .sh fixes (no Windows .ps1):

  • verify/uninstall: while+shift arg parsing
  • task-orchestrate: task/logs glob, set -e ao run capture, rm guard
  • task-record: SOFAGENT_DATA closure-check, GNU sed \b sanitize, budget guards
  • install.sh: SOFAGENT_DATA env override, loopDetection -> config.json
  • verify.sh: quick/workbuddy SOFAGENT_DATA, stat GNU/BSD mtime
  • cleanup/compress-memory/benchmark.sh minor guards
  • docs/bug_fix + check-portability.sh regression harness
  • .gitattributes: *.sh LF (required for cross-platform bash)

Test plan: bash -n all scripts; docs/bug_fix/tests/check-portability.sh; verify.sh full run; install/uninstall cycle on Linux or WSL.

Pull Request

请确认以下检查项全部通过后再合并。

自检清单

  • 文档同步:相关手册(HANDBOOK.md / DEVELOPMENT.md / ARCHITECTURE.md)已更新,交叉引用一致
  • 验证通过bash sofagent/scripts/verify.sh 全部通过,无语法错误
  • 部署循环:跑过一次完整的安装→卸载→重装流程(install.sh + uninstall.sh

脚本 / Skill 改动额外检查(纯文档改动可跳过)

仅当本 PR 修改了 sofagent/scripts/sofagent/*.md 时勾选

  • 非 OpenClaw 平台测试:在至少一个非 OpenClaw 平台(Claude Code / WorkBuddy / Codex)验证过行为
  • 参数兑现检查:文档中描述的脚本参数(--help 输出)在代码中真实存在,没有虚构参数
  • 脱敏回归:如修改了 sanitize(),跑过 verify.sh 脱敏测试用例全部通过

变更说明

影响范围

  • 宪法 / 规则层(rules.md、SKILL.md)
  • 脚本层(scripts/)
  • Skill / Hook 层
  • 数据文件模板(.sofagent/)
  • 文档 / 手册
  • CI / 基础设施

Consolidates fork .sh fixes (no Windows .ps1):
- verify/uninstall: while+shift arg parsing
- task-orchestrate: task/logs glob, set -e ao run capture, rm guard
- task-record: SOFAGENT_DATA closure-check, GNU sed \\b sanitize, budget guards
- install.sh: SOFAGENT_DATA env override, loopDetection -> config.json
- verify.sh: quick/workbuddy SOFAGENT_DATA, stat GNU/BSD mtime
- cleanup/compress-memory/benchmark.sh minor guards
- docs/bug_fix + check-portability.sh regression harness
- .gitattributes: *.sh LF (required for cross-platform bash)

Test plan: bash -n all scripts; docs/bug_fix/tests/check-portability.sh;
verify.sh full run; install/uninstall cycle on Linux or WSL.

Co-authored-by: Cursor <cursoragent@cursor.com>
@HyperGroups

Copy link
Copy Markdown
Contributor Author
image 我觉得当前,一些目录结构,在于跨环境,多系统等场景,可能在合并上,还需要仔细研究一下,特别地,会有一些大改动的情况下,做起来还有点束手束脚。

@KongFangXun

Copy link
Copy Markdown
Owner

收到!谢谢!你把 Windows .ps1 和 shell bugfix 拆成两个独立分支非常干净,零重叠可以分开合。

这个 shell bugfix PR 修的都是确定性问题——while+shift 参数解析、SOFAGENT_DATA closure、stat 跨平台这些都是典型的静默失败坑。check-portability.sh 回归套件也加得好,以后发版前多一道防线。

我已经在 review,没问题就 squash merge。后续 v0.93 的 bash→TS 迁移会参考你这些修复点,确保移植时不把 bug 带过去。

再次感谢!

@KongFangXun KongFangXun merged commit db3b134 into KongFangXun:main Jun 25, 2026
3 of 4 checks passed
KongFangXun pushed a commit that referenced this pull request Jun 27, 2026
批次一 P0 代码硬伤止血(6项):
- VERSION 不一致:verify-evidence/skill-safety-check/index 3文件版本号→0.94
- LOW_RISK_PATTERNS 13条正则全加 i flag(修Linux大小写敏感问题)
- verify-evidence 正则加词边界(make/lint 误触发修复)
- 区分正负证据:NEGATIVE_PATTERN + MatchResult{positive,negative}
- log-checker tsc 正则收紧:/\btsc\b/→/tsc\s+(--noEmit|-p\b)/
- checkLogs 拆两阶段消除迭代中push + 三元死代码清理 + 正则预编译

批次二 P0 审计独立化(核心新功能):
- --silent/--ci CLI flag:沉默模式跳过日志依赖,CI模式=strict+silent
- 7条纯diff规则:R1-R5(无关文件/无测试/TODO未声明/大体积删除/commit占位符)
  + R11敏感文件(.env/*.pem/id_rsa→直接FAIL) + R12低注释率
- #1/#3 双路径回退:有日志走精确检查,无日志走diff推断(WARN不阻断)
- evidenceMode 标注:git-diff/logs/hybrid,输出透明显示证据依赖
- LogFormat 可插拔:MarkdownLogReader + JSONLLogReader + pickLogReader
- task-record.ts:JSONL结构化日志(v0.94与MD并行,v0.95仅JSONL)

测试:197/197 全绿(含4个新测试文件+QA边界测试)
验收:tsc零错误 + R11敏感文件7/7 + 双路径切换6/6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants