Skip to content

v1.6.2

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Sep 03:27
· 1 commit to main since this release
bea8e96

一次「把噪音关掉」的维护版:CI 收口到只在发版那一刻跑,日常防护落回本地 pre-commit 钩子;顺带修掉状态栏在 /pdlc-relate rebuild 之后整行变空的回归。

没有新增 skill(仍 38 个),流程契约与产物路径零改动,升级不需要任何迁移动作。

Changed

  • CI 收口到「只在发布那一刻跑」secret-scan.yml 原先是 push: branches:[main] + pull_request,累计触发 89 次(PR 55 / push 34)——改一行文档也要跑一遍全历史扫描。改为 workflow_dispatch + push: tags: v*.*.*,月预计用量从约 15-20 min 降到约 1 min。发版前那次仍用 fetch-depth: 0 扫完整历史,公开发布前的最后一道兜底保持不变

    • 日常防护落到本地:新增 .githooks/pre-commitgit config core.hooksPath .githooks 启用一次)。有 gitleaks 就用它扫暂存内容;没有时不静默放行——降级为正则兜底并明确告知覆盖面更弱(「跑不了」不等于「没问题」,与三态语义同一条纪律)。命中时只回显截断后的模式,不把密钥再打印一遍到终端和日志。
    • 三条路径均实测:gitleaks 在→拦(exit 1)、gitleaks 不可见→正则兜底仍拦(exit 1)、干净内容→放行(exit 0)。
  • 状态栏懒解析循环去掉 basename 子进程bin/pdlc-statusline.sh 每渲染一次提示符,窗口内每个候选文件都要调两次 basename(判 statusline.json 一次、判 _ 前缀一次),默认窗口 5 个文件即 10+ 次 fork。改为 ${f##*/} 取一次文件名再判两次,循环内子进程降到 0。实测 6 个状态文件的场景由 12 次 basename 调用降到 0,渲染输出逐字节不变。

  • CLAUDE.md 的本地测试清单补全:「Common commands」原先只列了 tests/ 下 6 个脚本中的 2 个(frontmatter-check / install-smoke),照文档跑只覆盖 221/304 条断言——statusline-checkadapter-codex-checkadapter-codex-loop-run-checkevals-runner-check 全在清单外,目录树那一段也用 └── 收在第 3 个脚本上、读起来像「就这些」。现已列全 6 个、给出一次跑完的命令,并把 shellcheck 的覆盖面对齐实际(补 bin/*.shevals/run.sh.githooks/pre-commit)。另注明 statusline-check.sh 需额外用 macOS 自带 /bin/bash 3.2 跑一遍——PATH 上的 Homebrew bash 5 会放过在原生 Mac 上跑不了的代码。

Fixed

  • ADR 0004 §5 的诚实边界已过时,补更正纪要(正文保留作时间点快照):「本仓库的自动化无法自己调 codex exec」实测不成立;tdd → implement → review 三步连跑已端到端验证——design → tdd → impl → review_done 收敛、退出码 0、独立复跑单测 9/9 绿、发布侧零改动。撞上 provider 限流那次,驱动按设计 fail-stop(4) 且现场零改动。
  • 状态栏在 pdlc-relate rebuild/set 之后变空bin/pdlc-statusline.sh 按 mtime 取最近状态文件时,只排除了 statusline.json,没排除 pdlc-relate 写出的 _relations.json(关系反向索引,不是功能状态文件)。_relations.json 写出后 mtime 最新,被当成「最新且非终态」抢占显示,解析出的 feature_id/feature_name/current_stage 全为空,状态栏整行显示成 ● PDLC · 👤。现在懒解析循环跳过所有 _ 前缀文件,jq 解析后再对 feature_id 为空的行做一道兜底丢弃。tests/statusline-check.sh 新增场景 8 覆盖该回归。