소스 정보
- 저장소
- devcodex-labs/devcodex
- 최근 소스 활동
- 2026년 8월 25일 23:02
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 172
- 포크
- 23
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/devcodex-labs/devcodex --skill audit-common명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| name | audit-common |
| description | 审查公共维度 G0~G5 + Profile Freshness Check — 所有 audit 子类型必先执行的基础维度层 |
所有 audit 工作流必须先执行 G0 体量评估 + Profile Freshness Check + G1~G5 公共维度,再叠加子类型专属维度(TD/RQ/PE/RA/DA/RL)。
G0 必须先调用 skill-gap-analysis 的 ProjectArtifactScaleRoutingGate:识别唯一项目/root,使用 bounded inventory 统计文件数、可解析字节、最大文件、目录集中度、派生产物比例和消费者扩散面,形成 ScaleDecisionRecord 后才允许 CRS 或内容审查。用户提示目录很大时不得降为 single-pass;项目/root 不明确时必须 blocked。
审查开始前统计待审查文件/目录总数,决定执行策略:
| 文件总数 | 策略 | 说明 |
|---|---|---|
| 1~30 | 默认 single-pass 候选 | 仍需同时满足字节、最大文件、派生比例和 fan-out 预算 |
| 31~60 | 默认 batched | 输出 batch budget/checkpoint 后执行 |
| > 60 | 强制 batched 或 sampled+deep-read | 全量 inventory,不等于逐字全读 |
分批策略详见
audit-execution-guide/SKILL.md§体量分批策略。
当用户要求「再审 / 已调整 / 复审修订稿」或审查宣称 finding closed / 可确认下一 CP / 可实施 / scheme-pass 时:
designEvidence + runtimeOwners(writer|reader|schema|probe) + negativeProbe;仅 design → 最高 partial,禁止写可进 CP3。AuditReportIsSignalNotEvidence,须回源码/当前正文复证。审查报告、清单和最终回复必须区分 inventory-covered / machine-scanned / manually-read / sampled-deep-read / executed-verified。目录枚举、grep 命中、抽样深读和运行探针不得相互冒充。
FileEvidenceLedger,逐项记录 path、coverageLevel、evidence、status 和 unread reason。sampleMethod / sampledSet / unreadSet / inferenceBoundary,不得把样本结论无条件外推到未读集合。coverageClaims 必须记录 claim type、evidence mode、FileEvidenceLedger 或 sampled/unread/inference boundary,供 review checklist、TestRoute、report 与 V94 复证。🔴 audit 不得默认 Profile 永远可信;在使用 Profile 做 G3 外部一致性之前,必须先反向核对 Profile 是否仍匹配当前项目事实。 audit 统一使用
load-profile的ProfileTruthReconciliationGatefull 模式;PFresh-1~PFresh-6 是 full 模式的强制检查集合,不得被 targeted 或 N/A 路径削弱。
| 编号 | 检查项 | 说明 |
|---|---|---|
| PFresh-1 | 版本与包身份 | 对照 package.json、plugin.json、根 CHANGELOG.md 与 changelogs/,检查 Profile 当前版本、阶段摘要、发布状态是否过期 |
| PFresh-2 | 资产数量与目录事实 | 对照 instructions/、skills/、prompts/、scripts/、data/templates/、主要源码目录,检查 Profile 资产数量和目录边界是否漂移 |
| PFresh-3 | 脚本与验证路线 | 对照 package.json scripts、CI/发布脚本和当前 TestRoute,检查 Profile 中的测试、构建、发布命令是否仍真实可用 |
| PFresh-4 | 宿主与部署能力 | 对照 .github/、.claude/、.codex/、AGENTS.md、MCP/Hook 配置,检查 Profile 的宿主能力说明是否滞后 |
| PFresh-5 | 当前任务现实 | 对照 active-root 下当前 requirements/、bugs/、报告、SUMMARY 与 open ledger,检查 Profile 是否漏记新增边界、风险或治理能力 |
| PFresh-6 | 发布关键 Profile 字段 | 对自动发包、npm package、CLI/plugin 或 release-heavy 项目,检查 Profile 是否覆盖 CI workflow/job 矩阵、tag/publish 触发链、失败恢复路径、外部消费者验证矩阵、dist 产物边界、registry/tag 验收与常见故障诊断 |
full 模式还必须执行 repo-shape 反查:当仓库已具备 SDK/CLI、文档站、public API、CI、发布、多模块或规范控制面特征时,核对 Profile 自报档位与 04~07 活文档是否完整。审查报告必须输出 profileTrustState 和 ProfileTruthMatrix(profileClaim / actualSources / status / conclusionAuthority / correctionRoute)。
若任一 PFresh 项无法验证,profileTrustState=partially-unverifiable 且审查结论必须标注 ⚠️ Profile freshness 待验证;若确认过期,profileTrustState=drift-detected,先记录审查 finding / 治理台账并以当前事实矫正本轮结论,再继续后续 G1~G5。audit 不得直接修改 Profile,也不得基于过期 Profile 宣告收敛。
| 维度 | 内容 | 优先级 |
|---|---|---|
| G1 文件完整性 | 必需章节/字段齐全,无空白占位 | 🔴 |
| G2 内部一致性 | 文档内部无矛盾(定义 vs 使用,目录 vs 正文) | 🔴 |
| G3 外部一致性 | 与引用文件/规范/代码实现不矛盾 | 🔴 |
| G4 格式规范性 | 标题层级正确,代码块有语言标记,表格对齐 | 🟡 |
| G5 链接有效性 | 内部/外部链接可访问,锚点存在 | 🟡 |
audit 天生对应统一联查矩阵的 L3 强联查CRS / G3 / PCV 继续作为 audit 的主路径,不降级、不被其他轻量联查规则替代review-checklist,先创建或复用复审清单文件,冻结范围和维度,再逐项执行证据核验,并通过 ChecklistStateFreshnessGate 确认清单状态、最新证据和收敛结论一致。🔴 CRS 是收敛的前置门禁:宣告收敛前,必须完成关联文件发现扫描,确认审查范围已覆盖所有引用相同概念的文件。
| 时机 | 说明 |
|---|---|
| R1 范围确认前 | 建立初始文件集合时 |
| 宣告收敛前 | 作为收敛门禁的最后一步 |
instructions/(Instruction 层)skills/(Skill 层)prompts/(Prompt 模板)agents/(Agent 定义)data/(数据文件:gap-registry.md / pending-fixes.md / pending-issues.md 等)
*.md(RULES.md / README.md / CHANGELOG.md)package.json 且 name 含 devcodex),且 cwd 父链上存在 .github/、.claude/、AGENTS.md、.agents/ 或 .codex/ 部署体.claude/{instructions,skills,prompts,agents,hooks}/、.github/{instructions,skills,prompts,agents,hooks}/、AGENTS.md、.agents/、.codex/ 也纳入 grep 范围
b. 对每个命中文件做 G3 外部一致性检查(与源仓库对应文件是否一致)
c. 若发现部署体 / 用户级 adapter 与源仓库不一致 → 标注 ⚠️ 部署滞后,列出源码仓 devcodex global-adapters apply、pack+全局安装或已发布环境 npm update -g devcodex 的适用方案;这些命令必须取得当前明确的全局环境修改授权后才可执行,审计/Auto/Profile 不补权。不要用 bare devcodex update 或 update --claude/--codex 冒充刷全局;授权执行后再运行 node scripts/validate.js V8 / devcodex doctore:\Worker\.claude/ 而误判为"hooks 不生效")scripts/validate.js 的 V8 checkPairs 已覆盖 instructions/skills/hooks/CLAUDE.md/prompts/agents 等关键部署面,但仍只是 CI 快速门禁;CRS 手动 grep 仍是收敛前全量同步的必要补充——V8 ✅ ≠ 全量部署同步ℹ️ CRS 发现的文件只需做 G3(外部一致性),不需要完整重跑全部维度。
修改了:02-output-paths §02-技术方案.md(改为条件触发)
grep "02-技术方案" instructions/ skills/
→ 命中:10-dev.instructions.md L56、cp-gate/SKILL.md L52
→ 这两个文件不在审查范围 → 加入范围 → 执行 G3 → 发现冲突 → 🔴 问题
🔴 触发条件:任何 audit finding 都进入交接循环,与审查对象类型无关。audit 只允许写审计报告、audit-state、记忆和 RecordRouter 台账;禁止修改或暂存被审查源码、规范、配置、测试、文档和部署副本。
🔴 核心原则:先分流,再交接,最后由用户决定是否启动独立修复:
- 阻断项:会直接影响当前控制面正确性、造成假绿、导致规则执行失真或形成明显错误指引 → 保持 open/pending,停止受影响范围的通过结论并提出显式确认请求
- 非阻断项:属于流程优化、模板体验、治理补强、可择期处理的问题 → 写入适当台账/问题池,状态 recorded/transferred
- 修复动作:仅在用户显式授权后由独立 fix/self-fix 工作流执行;audit 不自动切换、不 source mutation、不
git add
上述边界统一称为 AuditMutationBoundaryGate;每轮 finding 分流和最终报告必须记录 auditWritableArtifacts、sourceMutationAuthorized=false、repairWorkflow 与 repairAuthorizationEvidence。
开始审查
↓
R1:CRS + 输出发现的问题清单(只读)
↓
有问题?
├── 是 → 自我审视(实证→三列验证→对话感知→阻断/非阻断分流→盲点分析,见 §自我审视机制)
│ ├── 阻断项 → open/pending + ConfirmationRequest → 等待用户决定是否启动独立 fix/self-fix
│ └── 非阻断项 → 记录/转交到适当台账 → 继续可完成的审查范围
│
│ 用户授权并完成独立修复 → audit 读取新证据 → 重启新一轮(**收敛计数归零**)
│
└── 否(零发现)→ 收敛计数 +1
├── 计数 < 3 → 继续下一轮 audit
└── 计数 ≥ 3 → CRS 收敛门禁 → PCV → 最终报告
| 规则 | 说明 |
|---|---|
| 🔴 先分流再处理 | 本轮发现问题后,先完成自我审视与阻断/非阻断判定 |
| 🔴 阻断项暂停 | 本轮阻断项保持 open/pending,停止受影响范围的通过结论并请求显式用户授权 |
| 🟡 非阻断项入池 | 非阻断项写入适当台账/问题池,不在 audit 内穿插修复 |
| 🔴 授权后独立修复 | 用户确认后新建/切换 fix 或 self-fix,执行其 CP/ExecutionContract;audit 不继承修复权限 |
| 🔴 外部修复后重启 | 独立修复完成后,audit 基于新证据重新启动完整轮次(不是在旧轮次中写 fixed) |
| 🔴 收敛计数规则 | 只有"有效零发现"的轮次才累加计数;发现问题的轮次不计入(修复后归零) |
| 🔴 至少 3 轮有效零发现 | 收敛条件:连续 3 轮 均零发现,且每轮满足 ReviewCoverageDelta 与 ReviewDimensionDeltaGate(所有 audit 子类型统一标准) |
| 🔴 CRS 门禁不变 | 声明收敛前仍须完成 CRS 全库关键词扫描 |
| ⚠️ audit 只读不变 | audit 只维护审计产物/状态/台账;被审查源的 mutation、stage、commit 全部属于独立修复工作流 |
| 🔴 禁止继承授权 | 用户授权 audit 不等于授权 fix/self-fix;已有 audit 上下文、模型切换或阻断严重度都不能替代显式修复确认 |
| 🔴 判断独立性 | 用户若先给出分类/方案/目录结构,审查仍须独立比对证据;若用户判断已最优,可明确写“已验证成立”,不得为了显得客观而机械唱反调 |
每轮结束时输出当前状态(dev 模式下在每条回复末尾必须输出,不得因元循环工作流类型而跳过):
---
🔄 审查发现交接状态
- 当前轮次:R{N}(本大轮审查第 N 次 audit)
- 本轮发现:🔴 X 个 / 🟡 Y 个 / 💡 Z 个
- ReviewCoverageDelta:
- ReviewedSet:本轮已复核范围
- UnreviewedRelatedSet:由 CRS / 调用链 / 消费链 / 配置 / 测试 / 文档 / 部署副本推导出的未读相关候选
- NewlyReadThisRound:本轮新增阅读的未审查相关面
- RepeatReadReason:重复阅读已审查锚点的理由(高风险锚点 / 修复回归 / 抽样 / 新证据)
- NoNewSurfaceReason:无新增阅读面时的证据化理由
- ReviewDimensionDeltaGate:
- PreviousDimensionSet:上一轮或已完成轮次实际覆盖维度
- CurrentDimensionFocus:本轮新增、轮换、补强或回归维度
- NewDimensionRationale:本轮维度焦点的证据化理由
- RepeatedDimensionReason:重复维度的理由(阻断项回归 / 高风险锚点 / 新证据 / 抽样)
- 自我审视:[M1/M2/M3/M4 盲点类型,或"N/A(零发现)"]
- 修复交接状态:[等待用户授权 / 已转独立 fix/self-fix / 已获外部修复证据 / 零发现无需交接]
- 有效零发现计数:{n}/3(达到 3 次则收敛)
🛡️ DEV 模式 | 合规检查
FC: FC1 [✅/❌] FC2 [✅/N/A] FC3 N/A FC4 [✅/❌] FC5 [✅/❌] FC6 [✅/❌] FC7 [✅/N/A]
SC: SC4 [✅/❌] SC6 [✅/❌] ...(仅列适用项,逐项实际验证后填写)
整体:✅ 全通过 / ⚠️ <N> 项待修正
📂 本次会话产物:
- [filename (类型)](workspace相对路径/skills/xxx/SKILL.md)
- [filename (类型)](workspace相对路径/file.md)
---
ℹ️ 合规检查块是 dev 模式下的强制输出,审查发现交接循环不例外。FC2(报告文件)在 PCV 完成后输出最终报告时满足;中间轮次标注 N/A(进行中,未到输出节点)。 ⚠️ FC5 填写规则:审计产物先进入
ArtifactDeliveryManifestV1,再由UserFacingArtifactSetV1投影“完成交付文件/阻断证据”。用户可见项必须有语义名称、用途和动作;session/SUMMARY/raw ledger 默认 internal-only。链接按当前 surface 的 capability evidence 选择,Rich clickable 不重复绝对路径;未观察 assistant payload 时只能 unverified。
| 轮次 | 规则 |
|---|---|
| R1 | 先执行初始 CRS(见 §关联文件发现)确定关联文件范围,再输出维度清单供用户确认(可增删维度) |
| Rn | 每轮 audit 必须先输出 ReviewCoverageDelta 与 ReviewDimensionDeltaGate:优先阅读此前未审查但相关联的代码、配置、测试、文档、部署副本与消费者链,并说明本轮新增、轮换、补强或回归的维度焦点;已审查锚点和已跑维度只做高风险回归、外部修复回归、抽样或新证据复核;发现问题则触发自我审视 + 交接,不在 audit 内修复 |
| 收敛条件 | CRS ✅ + 连续 3 轮有效零发现(默认)+ 所有 🔴 已解决 + 🟡 已处理或标注 N/A |
ReviewCoverageDelta / ReviewDimensionDeltaGate 不合格时不得输出"已收敛"结论当且仅当用户明确 窄范围 / 单文件 / 单模块 audit,且 ScaleDecision 为 single-pass、无控制面跨宿主扩散时,可将「连续有效零发现」从 3 轮降为 2 轮,但必须:
convergenceMode=narrow-2 与范围边界;ReviewCoverageDelta / ReviewDimensionDeltaGate;R2 及以后轮次必须维护复审覆盖增量,防止连续零发现退化为重复阅读同一批已通过内容。
| 字段 | 必填 | 说明 |
|---|---|---|
ReviewedSet | ✅ | 截至本轮已经实际阅读并纳入判断的文件、章节、代码路径或运行产物 |
UnreviewedRelatedSet | ✅ | 由 CRS、调用链、消费链、配置、测试、文档、部署副本、报告和记忆索引推导出的未读相关候选 |
NewlyReadThisRound | ✅ | 本轮新增阅读的此前未审查但相关的真实文件 / 代码 / 文档 / 产物 |
RepeatReadReason | 条件 | 重复阅读已审查内容时必须说明原因,仅允许高风险锚点、修复回归、抽样或出现新证据 |
NoNewSurfaceReason | 条件 | 若本轮没有新增阅读面,必须说明已通过 CRS/反向推导/消费者链确认无新增相关面 |
计数规则:
NewlyReadThisRound 非空,且本轮无新增问题 → 可计入 1 次有效零发现。NewlyReadThisRound 为空,但 NoNewSurfaceReason 有证据支撑,且本轮无新增问题 → 可计入 1 次有效零发现。NewlyReadThisRound 为空且缺少 NoNewSurfaceReason → 本轮即使零发现,也不得增加收敛计数。ReviewCoverageDelta,确认不是用同一轮或同一批文件的机械重复凑数。R2 及以后轮次必须维护维度增量,防止复审每次机械重复同一组维度。
| 字段 | 必填 | 说明 |
|---|---|---|
PreviousDimensionSet | ✅ | 上一轮或已完成轮次实际覆盖的维度集合 |
CurrentDimensionFocus | ✅ | 本轮新增、轮换、补强或回归的维度焦点 |
NewDimensionRationale | ✅ | 本轮维度选择依据:新增文件类型、消费者链变化、上轮盲区、风险面变化等 |
RepeatedDimensionReason | 条件 | 复用上一轮维度时必须说明原因,仅允许阻断项回归、高风险锚点、新证据复核或抽样 |
计数规则:
CurrentDimensionFocus 与上一轮不同,且本轮无新增问题 → 可与覆盖增量一起计入有效零发现。RepeatedDimensionReason,且本轮无新增问题 → 可计入有效零发现。当用户要求只审查遗漏、只列未吸纳清单或排除已吸纳/没必要项时,R1 起必须切换为 omission-only:
ReviewedSet 需区分“此前已覆盖 / 本轮新增覆盖 / 已吸纳或排除”。UnreviewedRelatedSet 优先纳入此前未扫的 data 台账、消费者链、部署副本、报告和记忆索引。WorkspaceDataAbsorptionScopeGate,覆盖 .devcodex/*/data/ 全命名空间。ReviewDimensionDeltaGate,优先补此前未覆盖的维度;若仍复用同一维度,必须给出高风险回归、新证据或抽样理由。当审查对象或输入材料包含外部审查报告、AI review finding、audit issue 或代码评审发现时,R1 起必须执行审查发现 intake 分流:
AuditReportIsSignalNotEvidence:报告只是线索;每条 finding 必须有本地代码、文档、测试或运行复现证据,无法复现标 not-reproduced / needs-evidence。IntentionalDesignClassification:判断是否为 intentional design、兼容设计、性能取舍或产品策略,并记录依据、消费者影响和文档/测试承托。UserDecisionBeforeMutation:公共契约、兼容风险、设计取舍或文档/实现二选一,必须输出用户确认点,不得直接推进源码修改。DocsImplementationDriftAttribution:文档与实现不一致时,先判断文档是否合理、是否代表产品目标或历史承诺,再归因到代码、文档、示例或测试。TestCoverageGapOnly:仅测试浅、回归缺失或证据不足时,审查结论优先指向补测试/复现/验证证据,不直接要求 runtime mutation。🔴 触发条件:R2 及以后轮次发现新问题时,必须在输出问题清单前先执行自我审视,分析上一轮为何漏掉该问题。
| 轴 | 盲点类型 | 判断条件 | 后续动作 |
|---|---|---|---|
| M1 | 范围盲点 | 发现的文件在上一轮 CRS 扫描关键词中未命中 | 补充关键词重跑 CRS;经 spec-governance RecordRouter 记录 record.audit-gap,更新 gap-registry |
| M2 | 缺席盲点 | 问题是字段/条目"缺失"而非"错误值",grep 无法检测 | 下一轮切换为反向推导(V4 缺席检查逻辑);更新 gap-registry |
| M3 | 层次盲点 | 只检查了 Skill/prompt 层,未验证 Instruction 层(最高权威) | 下一轮补查所有三层;更新 gap-registry |
| M4 | 分离盲点 | 路径/名称发生变更,引用/applyTo 未跟随更新 | 下一轮 grep 新旧名称交叉确认;经 RecordRouter 更新 gap-registry |
R2+ 发现新问题
↓
步骤一:实证定位(必须)
- 读取对应文件/代码,确认问题确实存在(不得依赖记忆、推断或会话上下文中的注入内容——上下文可能是旧版)
- ⚠️ 修复前必须从磁盘重新读取目标文件;会话开始时注入的 Instructions 内容可能早于本次修改,以磁盘文件为准
- 记录:文件路径 + 行号/章节 + 问题原文
↓
步骤二:三列验证(必须)
- 合理性:为什么这是问题?依据是哪条规范?
- 可实施性:修复是否有明确方案?前置条件满足?
- 收益:修复后带来什么改善?
↓
步骤三:对话输出感知(必须)
- 在对话中输出上述验证结果,让用户可见
- ⚠️ 禁止跳过此步骤直接修复
↓
步骤四:决定交接状态
- 所有文件类型先判定是否阻断当前审查结论
- 阻断项 → 保持 open/pending,停止受影响结论并提出显式用户确认
- 非阻断项 → 写入适当台账/问题池,标记 recorded/transferred
- 用户显式授权后才可启动独立 fix/self-fix;独立工作流必须自行执行 CP/ExecutionContract
- audit 内禁止 source mutation、`git add`、commit 或把修复建议直接标为 fixed
↓
步骤五:M1~M4 盲点分析
- 对每个新问题逐轴过一遍 M1~M4,确定盲点类型(可多轴)
- 先归一为 `record.audit-gap`,输出规范化意图、置信度、依据和目标台账,再追加到 data/gap-registry.md(格式:GAP-NNN,含盲点轴编号)
↓
下一轮带着已知盲点类型定向补查
🔴 禁止"未分流即修":步骤一(实证定位)、步骤三(对话感知)和步骤四(阻断/非阻断分流)不可跳过。未经实证的问题不得执行修复;未在对话输出的验证结果,用户无法感知和纠错。
---
🔍 自我审视(R{N})
- 新发现 N 个问题
- 【实证定位】[文件路径:行号] — 问题原文
- 【三列验证】
- 合理性:[依据规范/条目]
- 可实施性:[修复方案简述,前置条件]
- 收益:[改善效果]
- 【盲点分析】M{X} [盲点类型]:[上一轮漏掉的原因] → 已记录 GAP-NNN
- 【交接决定】阻断项等待用户授权 / 非阻断项入池 / 已转独立 fix/self-fix(原因:[影响范围/歧义说明])
- 下一轮定向补查:[文件/层次/关键词]
---
ℹ️ 自我审视输出在问题清单之后立即输出;任何文件类型的修复都必须等待显式用户授权并进入独立 fix/self-fix,audit 不继承写入权限。
🔴 强制步骤:收敛后必须执行 PCV,方可输出最终报告。
| 步骤 | 动作 |
|---|---|
| PCV-1 汇总去重 | 汇总所有轮次发现的问题,按 🔴→🟡→💡 排序,去除重复条目 |
| PCV-2 实证核查 | 对每条问题重新读取对应文件/代码位置(不得仅凭记忆),确认问题确实存在且描述准确。若结论依赖运行时数据(测试通过率、性能数字、API 响应等),优先本轮实际执行对应命令取得当前结果;无法执行时标注 ⚠️待验证(须注明来源为历史记录);禁止将记忆文件历史数据直接标注为 ✅已验证 |
| PCV-3 三列验证 | 为每条已确认问题补充:合理性(依据)+ 可实施性(前置条件)+ 收益(改善效果) |
| PCV-4 分级标注 | ✅已验证(有实证)/ ⚠️待验证(推断,需用户确认)/ ❌排除(证据不支持,从报告中移除) |
| PCV-5 最终清单 | 输出过滤后的最终问题清单;❌排除 项须说明排除原因 |
| PCV-6 回归复扫(v1.9.5+) | 对 audit-state findings[].status=fixed 的所有项执行 regressionProbes[].scanCmd 复扫,对比 expectedMatches;任一回归 → 切回 status=open,zeroFindingStreak 归零,重启新轮 |
| PCV-7 收敛门禁 | 上述 6 步全过 + crsPassed && pcvPassed && zeroFindingStreak>=3 后方可宣告收敛 |
⚠️ 触发条件:仅当审查目标为 DevCodex plugin 文件(
instructions/·skills/·prompts/·agents/·RULES.md)时,在 CRS 步骤中顺带对data/文件执行 DF 检查。ℹ️ 不适用 D1~D25:
data/*.md是运营数据文件(violations/pending-fixes/gap-registry/process-improvements),不是规范定义文件,使用轻量 DF 3项检查(不走全维度审查)。
| 编号 | 检查项 | 优先级 | 说明 |
|---|---|---|---|
| DF-1 | 标头唯一性 | 🔴 | 每条 ## GAP-NNN / ## PF-NNN / ## VL-NNN / ## PI-NNN 编号不重复(重复编号导致引用歧义) |
| DF-2 | 状态字段完整 | 🟡 | 未关闭条目必须有状态字段(如 - 状态: 行或表格「状态」列);已关闭条目至少有关闭说明 |
| DF-3 | 路径引用有效 | 🟡 | 条目中引用的文件路径在 plugin 目录内实际存在(仅检查明确的相对路径) |
memory/SKILL.md 写入 .devcodex/.memory/memory/SKILL.md 恢复进度🔴 audit 不执行
git add、commit、push,也不管理修复变更的暂存区。用户授权后的独立 fix/self-fix 按自身 ExecutionContract 和提交授权管理 Git。
audit finding → 记录/交接 → 用户显式授权独立 fix/self-fix
↓
修复工作流自行管理 diff/Git
↓
audit 只读取新证据并复审
即使用户在 audit 中要求提交,也必须先重新识别为 fix/self-fix/release 类显式动作并执行对应授权门禁;不能把 audit 的只读权限静默升级为 Git 写权限。
审查报告:reports/audit/ 目录,含问题清单表格(级别/维度/位置/描述/PCV验证状态/状态)。
PCV验证状态列取值:✅已验证 / ⚠️待验证 / ❌排除(排除项需注明原因)