用途:在 AST、CFG、PDG 之外增加 Reason Graph(RG),把函数、类、模块追溯到创建它的目标、负责人,以及是否仍符合原意。核心原则是先查意图再写代码:改代码前先查询为何存在、须保留什么约束、是否重复既有工作。
主要能力:ReasonNode 记录 goal、decision_type、scope、owner、status、source,并以设计契约形式声明前置条件、后置条件与不变量。六种边类型:CREATES、MODIFIES、REQUIRES、DUPLICATES、VALIDATED_BY、DRIFTS_FROM。六维漂移检测:规范、决策、归属、测试、用法、依赖漂移,icpg drift check 逐一扫描并给出 0-1 严重度。
使用方式:安装可执行 pip install ./scripts/icpg(核心零依赖),或 pip install "./scripts/icpg[vectors]"、pip install "./scripts/icpg[all]"。初始化用 icpg init;从 git 历史推断用 icpg bootstrap --days 90;创建意图用 icpg create;记录符号用 icpg record;三组任务前查询为 icpg query prior、icpg query constraints、icpg query risk;另可用 icpg query context、icpg query blast、icpg drift check、icpg drift resolve、icpg status。数据存于项目内 .icpg/reason.db(SQLite,gitignored),可选 ChromaDB 向量与 TF-IDF 回退缓存。可通过 PreToolUse 钩子在编辑前注入上下文,通过 Stop 钩子自动记录符号。
适用场景:多智能体团队协作、需要追踪意图与约束的既有代码库、防止重复实现和范围漂移的改码流程。
限制:推断出的 ReasonNode 为低置信度,需人工复核;契约谓词、钩子脚本、具体集成细节需按项目配置;平台支持、收费、价格与效果等资料暂未提供。