## Summary
- Bump `cataforge` package version `0.4.0 → 0.4.1`.
- `scriv collect --version=0.4.1` aggregates 6 pending `changelog.d/`
fragments (`114.md` / `116.md` / `123.md` / `124.md` / `125.md` /
`127.md`) into CHANGELOG.md.
- Update CHANGELOG link table: bump `[Unreleased]` compare base to
`v0.4.1`, add `[0.4.1]` reference.
## Motivation
`cataforge issue triage` 多 label 时 `gh issue list --label X --label Y` 取
AND 语义(漏 issue),[#116](https://github.com/lync-cyber/CataForge/pull/116)
已修为按 label 各跑一次 + 去重的 OR 语义。但 PyPI 上的 `v0.4.0` 是在 #116 之前打的 tag,下游 /
maintainer 用 `uv tool install cataforge` 装的 `cataforge.exe` 仍跑老 AND
代码,editable / `python -m cataforge` 才走 live source 拿到修复。`v0.4.0..HEAD`
之间已累计 6 个未发布 commit,正合补丁版的范围。
## v0.4.1 changeset 概览(自 v0.4.0 累计)
| PR | scope |
|----|-------|
| [#114](https://github.com/lync-cyber/CataForge/pull/114) | sdlc
false-positive closeout — code-review integration-wiring / e2e backdoor
scan / plugin-style cross-language rules |
| [#116](https://github.com/lync-cyber/CataForge/pull/116) | feedback
frontmatter / issue triage parser / language coupling anti-rot guard |
| [#123](https://github.com/lync-cyber/CataForge/pull/123) | implementer
assertion-strength guard / refactorer git lockdown / corrections
reference doc |
| [#124](https://github.com/lync-cyber/CataForge/pull/124) |
architecture audit R-001..R-010 — B3 release-lag downgrade / B1-β
PROTOCOL scan / 12 skill Anti-Patterns / framework_check.py +
doctor_cmd.py split |
| [#125](https://github.com/lync-cyber/CataForge/pull/125) | tdd-engine
workflow lightening / behavioral assertion mandate / GWT format |
| [#127](https://github.com/lync-cyber/CataForge/pull/127) | doc
\`content_hash\` + \`stale_deps\` validate / doc-review bidirectional
coverage |
## Test plan
- [x] `PYTHONPATH=src pytest tests/` → 688 passed, 3 skipped (worktree
source)
- [x] `python scripts/checks/check_changelog_link_table.py` → 21
sections / 21 links / `[Unreleased] @ v0.4.1`
- [x] `python scripts/checks/check_no_design_residue.py` /
`check_no_language_coupling.py` / `check_doc_structure.py` → all OK
- [x] `python -m cataforge doctor` → Framework version: 0.4.1, all
health checks pass (only pre-existing `no docs/.doc-index.json` WARN
unrelated to this PR)
- [x] pre-commit hooks (`ruff`) pass on commit
- [ ] **post-merge**: `git tag v0.4.1 && git push origin v0.4.1`,PyPI
publish workflow 拉到新 tag 后下游 `uv tool upgrade cataforge` 即可拿到
`_fetch_issues` OR semantics 修复
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>