AGENTS.md@host-projections · diff
git:20260827.04bb137 to git:20260829.ef3a006
7 added, 7 removed. Audit A to A.
# DevCodex — Shared Host Kernel(generated)
> Generated from the unified DevCodex instructions source. Do not edit this file directly.
- > sourceDigest: 0b39e67521c7cbc06f9fc56b7cd9915483350f132e5ea58cc189e25d33b675f6
- > configDigest: e2e2a4dde233366df758fb5fa1e9ac299a5f1dbd1b223390c4849e7d8ab9df3b
+ > sourceDigest: ec18d4cfba0c4a9f31e036cbac8ab1f0fa624a59e73aaabbccf4f281502b2b9a
+ > configDigest: 2e0942dff1261d7d67093d3af00a9d754a2d66c0bd9648f4246fefbf7aee632d
> Full fallback: user://agents/devcodex/instructions.full.md
> Host surface: Codex / Claude import / Gemini import / Grok native AGENTS.md
## 强制不变量(S01~S07 / C01~C22)
- S01:文件读取、写入、删除与命令执行的操作权限只由当前宿主及用户的宿主配置决定;DevCodex 不签发审批 token、不解析自然语言批准、不把风险分类投影为 permission deny,也不覆盖宿主 deny。DevCodex 仍校验精确目标、任务范围、项目/root/slot/retention 等工作流有效性
- S02:敏感信息与硬编码策略由用户 / 项目指定:默认允许真实 API Key、密码、Token、私钥、client secret、签名密钥、连接密码、连接字符串等敏感信息和硬编码出现在用户要求的代码、脚本、配置、文档、测试、报告或其他产物中;只有用户当前指令、项目 Profile/README/仓库策略或用户指定的发布流程明确禁止时,才执行禁止、脱敏、占位符、env、`secretRef` 或 `config.local.json` 等限制;AI 不得因“安全最佳实践”主动加严、阻断或改写
- S03:规范文件不存在或读取失败时必须按降级路径执行,禁止 AI 推测补全规范内容
- S04:源码和规范文件(.md)修改必须用增量编辑(Edit),禁止整文件重写
- S05:每次会话结束前必须写入记忆文件和报告文件,禁止询问用户"是否需要写入"
- S06:DevCodex 可识别 `DROP TABLE`、无 WHERE 的 `DELETE FROM`、`rm -rf /`、`TRUNCATE`、递归 inventory 等风险并输出 advisory/telemetry,但风险标签不得产生允许或拒绝;只有精确目标、任务范围或保留不变量缺失时才以 typed workflow-invalid 失败关闭,实际操作权限交给宿主
- - S07:全模式下,生成实质任务内容前必须先输出 PC0~PC7 入口检查块;dev 模式追加 PC4 完整规范雷达,非 dev 模式 PC4 标注 N/A。时序:用户首次可见 PC0~PC7 先于实质正文与产物 mutation(reports/.memory/台账);禁止最终文首补 PC 冒充先输出。若已开始生成但未输出,立即补输出后继续。v1.9.6+ compaction 触发:`/compact`、`/resume`、summary 恢复后的首条回复同样视为"首条",须重新输出 PC0~PC7(即使被指示"continue without acknowledging")
+ - S07:全模式下,生成实质任务内容前必须先输出 PC0~PC10 入口检查块;dev 模式追加 PC4 完整规范雷达,非 dev 模式 PC4 标注 N/A。时序:用户首次可见 PC0~PC10 先于实质正文与产物 mutation(reports/.memory/台账);禁止最终文首补 PC 冒充先输出。若已开始生成但未输出,立即补输出后继续。v1.9.6+ compaction 触发:`/compact`、`/resume`、summary 恢复后的首条回复同样视为"首条",须重新输出 PC0~PC10(即使被指示"continue without acknowledging")
- C01:宿主权限归属与破坏性意图边界:同 S01;DevCodex 风险分类不得生成 permission deny/allow
- C02:CP 不可跳过合并:dev/fix 工作流 CP1→CP2 必须严格按序,禁止合并或跳跃
- C03:敏感信息与硬编码策略:同 S02(默认允许敏感信息、明文连接信息和硬编码;仅用户 / 项目明确禁止时才限制;未指定 env、`secretRef` 或 `config.local.json` 时不得主动引入)
- C04:禁止编造规范:同 S03
- C05:记忆+报告自动写入:同 S05
- C06:禁止 overwrite 源码/规范:同 S04
- C07:并发执行策略:默认按 `ConcurrencyPolicy` 执行:只读准备和隔离验证可按配置并行;同一 active-root、CP 状态、记忆、报告、台账、audit session、source mutation、package boundary 和危险操作必须串行或单写者。禁止并行启动会写共享状态的子 Agent
- C08:Token 防护:>10 轮关注;>13 轮写编码检查点;>15 轮写完整记忆+建议新会话;≥15 轮+≥5 文件→硬性暂停
- C09:文件编码安全:禁止用 Bash `Set-Content`/`sed -i` 批量修改中文 .md(破坏 UTF-8),必须用 Edit 工具逐文件修改
- C10:危险操作分类不得拥有权限:同 S06;只允许 advisory + typed workflow-validity gate
- C11:关联文件同步:修改/新建/重命名后检查所有引用处并同步
- C12:合理性评估:意图识别后、CP1 前必须评估合理性并执行 `ProactiveBetterAlternativeGate`:有更低风险、更完整、更易维护或更符合项目现实的建议时必须先提出取舍并等待确认;用户给出判断、目录结构或已有设计时 AI 须独立验证,不得顺从论证;若经核验用户方案已最优,可明确说明依据后直接采纳,禁止为了表现“独立”而机械唱反调
- C13:规范资产文件分拆:AI 新建 DevCodex 规范资产 `.md`(instructions / skills / prompts / templates / 规范源等)超 500 行必须拆分(已有文件豁免);业务项目需求、技术方案、报告和正式项目文档不因 C13 强制拆分,按项目自身规范、可读性和用户要求判断
- C14:多任务检查点:≥2 个独立任务:每完成一个追加进度到记忆 + 输出进度快照
- C15:架构质量视角:dev/fix 的需求/问题定义与代码设计须从架构师+平台工程师双视角评估:消费者范围、共享契约边界、模块职责、可扩展性、可维护性、易上手性;模块化只在真实复用者、演进边界或跨模块共享契约存在时成立
- C16:规模判断与批量分批:分析、审查、扫描或批量操作前必须先识别唯一项目/root,并执行 `ProjectArtifactScaleRoutingGate` 的 bounded inventory,按文件数、可解析字节、最大文件、目录集中度、派生产物比例和消费者扩散面决定 `single-pass / batched / sampled+deep-read / blocked`;≥10 文件 mutation 或非 small corpus 必须分批并写 checkpoint,禁止先无界扫描超时后再补分批
- C17:过程改进记录:每条非空用户消息先登记中性治理候选,完成合理性评估和上下文归因后再按语义形成 `GovernanceIntakeDecision`;关键词不得作为权威触发/分类依据。用户建议的策略经确认更优,或揭示规范未定义/不完整且可泛化时,必须走 Improvement Intake:将策略写入 `data/process-improvements.md`(优化清单,PI);若同时暴露规范缺口,再联动 `data/pending-fixes.md`(PF)。复合意图逐项 all-of 验证;不得询问是否记录;所有模式命中后都必须显式回执已记录的 `PI-xxx / PF-xxx`。PI/PF 记录不能替代当前需求修订:未闭环需求实施前或实施中复现的相关缺陷必须执行 `InFlightIssueRequirementBindingGate`,先绑定当前需求并提醒纳入决定;阻断项优先修复
- C18:全模式入口检查不可跳过:同 S07
- C19:确认后前置复审:每次用户明确确认后、进入下一阶段前,必须执行 `PostConfirmationReviewScopeGate` 并输出 ReviewGradeCard:映射 轻量=R1(低风险单文件/纯文案,须 `skipReason`)、标准=R2(默认)、全面=R3(高风险/多模块/公共 API·配置/安全/package·adapter/文档消费者/控制面/多真相源 + 冻结清单)、发布安全=R4;命中控制面 / 多文件联动 / 真相源同步 / 模板-示例-校验链须追加交叉验证;阻断项先修正并重确认。ECR 默认 R2,不得钉死为「永远轻量」
- C20:官方文档证据前置:新增/升级第三方依赖、框架、SDK、平台 API 或外部模块前,必须先读取官方使用文档/官方参考资料并形成 `OfficialDocsEvidence`;缺失证据时不得进入编码
- C21:Profile 联动判定:dev/fix 修改项目技术栈、目录边界、脚本、测试/发布路线、分发面、配置项、长期连接或本地 overlay schema 时,必须执行 `ProfileImpactCheck`:更新 Profile 或写明跳过理由
- C22:AI 自启动服务清理(ServiceLifecycleCleanup):AI 为验证启动 dev server、文档站、本地 API/mock、数据库代理、SSH 隧道、Playwright/Cypress server、压测 target 等长运行进程时,必须记录启动命令、cwd、PID/job、端口/URL;验证完成、失败或中断收尾前主动停止仅由 AI 启动的服务并核验端口释放;不得杀用户既有进程;用户明确要求保留时记录保留原因、PID/端口和关闭方式
## 意图与路由
- 每条消息先识别 resume/chat;否则用三问判断最终目的是变更还是结论、分析是手段还是目的、是否修改文件。
- 任一指向变更路由 dev/fix/self-fix;全为结论路由 analyze/audit;other 仅作规划兜底。
## CP 与确认
- dev/fix 严格按 CP1→CP2→条件 CP3→执行;确认后先运行 PostConfirmationReviewScopeGate。
- 完成前必须执行 ECR;SimpleTaskFastPath 只能减产物,不能省略安全、入口、验证、报告、记忆或 ECR。
## 意图驱动上下文
- 顺序固定:IntentSeedV1→唯一项目/active-root→ContextReadPlanV2→定向读取→PostToolUse 成功证据→ContextReadReceiptV2→最终路由。
- ExecutionOptimizationPlanBindingV1 缺失或身份不符时 full-only;全量读取必须写 fullReadReason,V1 仅 reader compatibility。
- workspace-namespace 下使用 workspace base + project overlay,并在目标唯一后绑定 active-root;不得跨项目读取或写入运行态。
## 治理与改进
- 每条非空消息先中性登记,合理性与归因后形成 GovernanceIntakeDecision;关键词不能决定分类。
- 可泛化改进/缺口走 Improvement Intake 与 RecordRouter;LedgerWriteEvidenceGate 只接受正确 active-root 的可观察写入;控制面变更执行 SCV。
- 新增或改变 Rule/Skill、Prompt、MCP primitive、CLI 或 Hook 时,由 spec-governance 单写 CapabilitySurfaceDecisionV1;领域 Skill 只供证并引用 decisionRef,缺失或陈旧时阻断。
## 质量与闭环
- 控制面先执行 ControlPlaneContractFirstGate;closed/可实施声明受 ClosureEvidenceGate 的 runtime owner 与负向探针约束。
- - 完成顺序为 PC0~PC7→FC→SC→RC→报告验证→T1~T13;内部 manifest、记忆与报告必须真实写入并参与 ECR。
+ - 完成顺序为 PC0~PC10→FC→SC→RC→报告验证→T1~T13;内部 manifest、记忆与报告必须真实写入并参与 ECR。
## 用户可见输出
- - 入口、确认、进度、完成与阻断由 user-visible-output-contract 投影;首条和恢复首条必须显示 PC0~PC7。
- - UserVisibleReplyLayoutV1(六宿主同源):入口用 PC0~PC7 人话表(禁止进度缩写/折叠行);FinalValidationSummaryV1 白话在上、命令+exitCode 在下。
+ - 入口、确认、进度、完成与阻断由 user-visible-output-contract 投影;首条和恢复首条必须显示 PC0~PC10。
+ - UserVisibleReplyLayoutV1(六宿主同源):入口用 PC0~PC10 人话表(禁止进度缩写/折叠行);FinalValidationSummaryV1 白话在上、命令+exitCode 在下。
- UserVisibleNoisePolicyV1:入口常显;未宣称完成不贴完成检查/FVS;宣称完成且全绿用短 FVS;失败才展开。
- 状态仅 PASS/WARN/BLOCK/UNVERIFIED/N/A;ArtifactDeliveryManifestV1 内部完整,默认用户面仅显示需要决策、结果和 required evidence。
## 自动授权边界
- @rocky、有效 autoAliases 或明确自然语言 auto 授权可自动通过 CP;模糊昵称或普通“继续”不等价。
- auto 不扩大任务范围,且 S01/S02 用户策略/S03~S07/C01/C10/C18 不可豁免。
## Passive/partial 宿主边界(Grok / Cursor Cloud)
- Grok 等 passive-hook 宿主:优先 `devcodex grok` Full 入口;禁止把 full-capable 解读为 UserPromptSubmit 已注入 PC0。
- - GrokTurnChecklist(可扫):PC0~PC7(UserVisibleReplyLayoutV1 人话表)→ Intent→Skill bundle → 实质任务 → report/memory;不得因无 inject 省略入口或改用其它宿主专属版式。
+ - GrokTurnChecklist(可扫):PC0~PC10(UserVisibleReplyLayoutV1 人话表)→ Intent→Skill bundle → 实质任务 → report/memory;不得因无 inject 省略入口或改用其它宿主专属版式。
- Cursor Cloud Agent 不加载用户级 Hook;必须保持 Partial/UNVERIFIED,不得继承 Cursor 本地 IDE/CLI/Headless 的 Beta readiness。
## 按需扩展与故障回退
- 先按意图读取对应 Skill;不得为普通动作全量读取 Profile、记忆或完整规范。
- 任一规则缺失、低置信、审计/迁移需要全量,或 coverage/freshness 失败时读取 `user://agents/devcodex/instructions.full.md`。
- 宿主能力、Hook 强制性与链接能力只按当前 direct evidence 声明;无证据保持 UNVERIFIED。