用途:确定 rego-cpp 为与最新 OPA Rego 版本保持兼容需要做哪些改动。适用于检查自上次更新后是否发布新的 OPA 版本、规划升级、审计当前兼容差距、复核 OPA 中影响 rego-cpp 的变更。
主要能力:按顺序执行兼容性检查流程。读取根 CMakeLists.txt 中的 REGOCPP_OPA_VERSION 与 VERSION 文件得到当前目标版本;抓取 OPA releases 页面确定最新稳定版,若相等则报告已最新并停止;抓取各中间版本的发布说明与内置函数目录;将变更按新增/修改/弃用/移除内置函数、语言语法、求值语义、Bundle 格式、一致性测试等类别归类,并映射到相应源文件;交叉核对 rego-cpp 内置覆盖情况;生成结构化兼容性报告与版本升级检查清单;必要时用 OPA plan IR 分析复杂特性;最后验证结论。
必要用法:使用 grep 读取版本;抓取 releases 页面与 policy-reference;生成报告后按清单更新版本号、文档、内置函数与解析器,并运行一致性测试,例如 cmake --preset debug-clang-opa && ninja -C build && ctest --test-dir build -R opa;验证时可执行 ctest -R rego_test_opa --output-on-failure。
限制:资料未提供该技能的安装方式、收费、支持平台与具体效果;rego-cpp 仅实现 Rego 语言与内置函数,OPA 的 Go 运行时、REST API、插件系统或 CLI 变更不适用;部分内置函数依赖平台(如时区函数需 cpp_lib_chrono >= 201907L);http.send 在 rego-cpp 中为占位实现。