Skip to content

Releases: full-stack-plugins/codeguard-plugin

v0.20.0

Choose a tag to compare

@loong10k loong10k released this 07 Oct 07:18
Immutable release. Only release title and notes can be modified.
7f67e34

本版内容

  • 接通 Rust 生命周期默认行为与固定原生复检入口(dec5f9d)
  • 暴露固定摘要的 32-grammar Rust 运行时候选(7bfb07a)
  • 合并远端名称与 MCP 更新,保留 Rust 候选发布版本(5ef4ea6)

修复

  • 恢复指引不可执行:hooks 在用户 workspace 运行而管理器位于插件根目录,原相对路径导致 MODULE_NOT_FOUND,新装用户被永久卡在未完成。改用绝对 pluginRoot 并按 POSIX 转义(含空格、含单引号均已实测)。
  • 镜像副本漂移:Copilot / OpenHands 副本同步修复,validate_portable_plugin.py 的 mirror-drift 校验恢复 PASS。
  • 损坏缓存无法自查:内容寻址目录存在但核验失败时,保留目录并拒绝(遵循 binary-distribution 规范「不得替换」),但把确切缓存目录写进失败原因,用户据此移除后重试。

能力声明

本版不授予任何语言的生产资格。 57 语言 × 四核心的 228 项能力单元仍全部 blocked,32 份 grammar 资格为 0/32。CodeGuard 当前能诚实发现问题并引导修复,但不能作为质量门禁签发交付通过。

v0.18.3 — CodeGuard

Choose a tag to compare

@loong10k loong10k released this 03 Oct 15:53
Immutable release. Only release title and notes can be modified.
f09c074

各宿主与市场清单统一使用 CodeGuard 英文显示名称,保留中文本地化翻译。补齐根目录标准 mcp.json,接入已有 stdio MCP 服务。

PR #91 已合并;Python 3.11 / 3.12 / 3.13 vendor-check 与 rust-runtime-contract 全部通过,含 MCP SDK 及回归测试。

CodeGuard v0.18.1 — prompt trigger correction

Choose a tag to compare

@loong10k loong10k released this 29 Sep 03:06
Immutable release. Only release title and notes can be modified.
82b82c1

CodeGuard 0.18.1 corrects the default Claude UserPromptSubmit registration: this event does not support a matcher and runs for every prompt. The plugin no longer declares an ineffective keyword matcher, and ordinary prompts now return before session/worktree scoping, environment probing, repository discovery, native checks, or context output. Commit-intent soft feedback and the command-time PreToolUse Git gate remain in place.

This release does not eliminate per-prompt Hook process startup or claim measured installed-host latency. The Rust runtime remains an opt-in candidate; default hooks still use the legacy Python adapter.

Validation: local protocol 144/144, Python unittests 654, README parity 7, real-tarball runtime tests 5/5, Ruff, OpenSpec strict, offline/online vendor checks, and mirrored-host manifest checks. See PR #88 for remote CI results.

CodeGuard v0.18.0 — Rust prompt candidate

Choose a tag to compare

@loong10k loong10k released this 29 Sep 02:43
Immutable release. Only release title and notes can be modified.
461f152

CodeGuard 0.18.0 updates the opt-in Rust runtime candidate to the published @partme.ai/codeguard@0.1.2 macOS arm64 binary and adds Claude Code UserPromptSubmit routing. The event gives bounded, non-blocking timing guidance without running a checker or treating prompt text as a delivery decision. A missing or modified pinned runtime reports an incomplete check.

The default plugin hooks remain on the legacy Python implementation. Rust strict Git/CI gates, installed Claude host behavior, other platforms, and complete CodeGuard OpenSpec acceptance are not claimed by this release.

Validation: PR #86 CI passed all four jobs. Local real-tarball tests passed 5/5, protocol tests 144/144, Python unittests 653, vendor offline/online checks, and OpenSpec strict validation. Registry download/install/verify and direct candidate invocation passed on macOS arm64.

CodeGuard v0.17.0 — locked Rust runtime candidate

Choose a tag to compare

@loong10k loong10k released this 29 Sep 01:49
Immutable release. Only release title and notes can be modified.
de0936a

CodeGuard 0.17.0 adds a candidate Rust runtime binding for Apple Silicon macOS. The plugin pins @partme.ai/codeguard@0.1.1 to an exact registry tarball and binary digest, platform, candidate source commit, and check protocol major. An explicit installer verifies the artifact before activating it, and a Claude Code candidate dispatcher rechecks the binary on each event. Missing or changed runtime bytes are reported as incomplete without selecting a PATH binary or falling back to Python.

The default plugin hooks remain on the legacy Python path. This release does not claim Rust Git/CI gates, automatic task closure, all-language coverage, or acceptance on Codex, ZCode, and Kimi hosts.

Validation: PR #85 passed the Node runtime contract and Python 3.11/3.12/3.13 vendor checks. Local macOS arm64 tests passed against the published package, including registry download, native SessionStart invocation, and mutation rejection; 653 Python unit tests and 144 plugin protocol checks passed.

CodeGuard v0.16.1 — 统一 Rust CLI 变更骨架 + skipGate 安全边界加固

Choose a tag to compare

@loong10k loong10k released this 23 Sep 19:09
Immutable release. Only release title and notes can be modified.
9e4adb1

安全边界(breaking 语义)

  • skipGate 豁免范围收窄:代理可控豁免(仓库配置 / 内联 -c codeguard.skipGate=true / 链式)只覆盖语言门禁;入库内容安全扫描(密钥/凭据类)恒执行。唯一完整逃生门为进程环境变量 CODEGUARD_SKIP_GATE(1/true/yes,仅用户可设;宿主内联赋值不会传入钩子进程)。
  • 软硬门禁与四份文档(hooks/__protocol__.md / README×2 / docs/current-architecture.md)同批同步;doc-behavior-parity 互证。

工具链与缓存

  • 符号链接解释器机器上工具发现误报根因修复:ensure_user_path 补 resolve 目录与 sysconfig scripts 目录;探活 not_found 以 python3 -m <tool> 试判「未安装」vs「入口缺失」。
  • run_gate 入口先补 PATH 再采集缓存身份(check_identity 计入 PATH),软观察缓存不再永不落盘。

变更骨架与测试

  • openspec introduce-rust-codeguard-cli:统一 Rust CLI 变更骨架(proposal/design/tasks(300 行)/verification + 10 能力 delta)。
  • 测试可移植性与迁移债三批收口(skipIf 守卫、requirements-dev、CI 矩阵 3.11/3.12/3.13)。
  • 新增 tests/test_skip_gate_safety_scope.py 8 例钉住豁免范围契约;全套件 622 passed / 10 skipped / 277 subtests。

完整条目见 CHANGELOG v0.16.1 段。

CodeGuard v0.16.0 — Claude 安装面补件 + go CVE 生态

Choose a tag to compare

@loong10k loong10k released this 23 Sep 17:11
Immutable release. Only release title and notes can be modified.

四项缺口补齐(OpenSpec 2026-09-23-claude-manifest-and-go-cve 已归档)

  • ****:Claude 宿主安装面补件 + 纳入 bump 版本链 + 版本一致性双向锁
  • go CVE 生态:规范映射独立条目(别名 golang/gomod;标志 go.mod/go.sum);trivy 原生解析 gomod、报告格式复用 trivy 解析器、生态身份按映射报告为 go(输入/输出标识同源);缺严重度不预过滤防假 PASS
  • paths.py (5 处); 死旋钮摘除(零消费、与协议 §1 矛盾)
  • tests/_subsets go 标签精确化(go.lock-only 走 universal 兜底,与 go 自动选择语义自洽)

unittest 612(+9 回归)· run_all 19/19 · check_architecture OK。本批经 PR #75 分支 + #76 tmp-merge 落地。

CodeGuard v0.15.1

Choose a tag to compare

@loong10k loong10k released this 23 Sep 13:51
Immutable release. Only release title and notes can be modified.
c524fb3

准确 Git 门禁在检查前后复核 index 对象与 HEAD 身份;观察到变化时返回 UNVERIFIED。PostToolUse 截断诊断改用私有原子日志写入。保留既有能力与宿主协议。源码 PR #66;本地 590 项单测、144 项真实 Hook 回归以及 PR/main CI 通过。

CodeGuard v0.15.0

Choose a tag to compare

@loong10k loong10k released this 23 Sep 13:43
Immutable release. Only release title and notes can be modified.
eb5b638

默认忽略点前缀目录和文件的常规检查与扫描;密钥入库安全检查和 linter 配置发现保留。对应源码 PR #59,市场 catalog 已同步至 0.15.0。

CodeGuard v0.14.15

Choose a tag to compare

@loong10k loong10k released this 23 Sep 13:04
Immutable release. Only release title and notes can be modified.
ee2e29a

Git 快照使用统一有界二进制执行通道;工作树覆盖层增加文件数、单文件及总量上限,拒绝特殊文件与读取期间变化,拟检查路径与物化内容共用同一次覆盖层列举。保留原有 68 项受管技能与插件入口。\n\n验证:559/559 单元测试、143/143 真实 Hook 回归、Ruff、架构门禁、57 项语言注册表/11 条规则、技能 vendor 离线与在线、OpenSpec strict;源码 PR 和合并后 main 的 skills-check 均通过。\n\n边界:整体架构 OpenSpec 5.6 尚未完成;三宿主现场安装/加载、Windows、在线 CVE 和大型 Maven/Gradle 尚未由本次发布验收。