Skip to content

Commit ccf1c07

Browse files
committed
feat: add brand visual quality governance
1 parent 1e77ed1 commit ccf1c07

43 files changed

Lines changed: 836 additions & 120 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎README.md‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ DevCodex 通过 `.github/`(Copilot)、`CLAUDE.md + .claude/ + .mcp.json`(C
4848
- **模型无关双层修复协作契约**: AI 判断任务目标为 repair task 时至少建立 `lightweight` 决策/验收层 + 执行/验证层契约;P0/P1、安全、控制面、公共契约、多批次、角色交接或发布风险升级 `full`,用 `findingToPatchMap`、`handoffIntegrity` 与 `independentReReview` 防止范围漂移和补丁作者唯一自证。模型名称或是否切换 Agent 不是触发条件
4949
- **返工预防与信任链**: `rework-prevention-engineering` 以 WorkUnit/ReworkEvent、双重根因、FirstPassYield 和前瞻 trial 把“复审又发现问题”前移为可度量预防;新 Skill 当前保持 `gray`,只有跨任务前瞻证据证明有效才可升级。`CandidateDiffCompletenessGate` 在 commit/tag/publish 前用 staged candidate snapshot 覆盖 tracked/untracked,并执行 cached diff、name-status、secret-shape 与 intended scope 对账;普通 working diff 不能替代。`ReviewCoverageClaimIntegrityGate`、`ArtifactDeliveryCompletenessGate`、`ReleaseAuthorityBeforeCompatibilityGate`、`ConfigurationErgonomicsGate` 与 `InteractiveSemanticProbe` 分别约束审查真实性、产物交付、兼容判断、配置易用性和交互语义
5050
- **跨仓消费者验证**: `consumer-validation-engineering` 以 RepositoryBinding、SourceConsumerIdentity、ValidationDenominatorMatrix、packed artifact、跨仓 CI 与 freshness drift 约束 SDK/CLI/框架/公共包的独立消费者仓;`DesignFitnessGate` 额外判断主路径、默认值、配置层级、框架约定和维护成本,`ValidationFindingRepairLoop` 在 source mutation 后使旧 identity/证据 stale 并按影响矩阵重跑。realpath、行为全绿或单一 100% 分母不能冒充完整验证。该 Skill 保持 `gray`,由 V95 正负探针守门
51+
- **品牌视觉资产质量(未发布 gray)**: `brand-visual-quality` 用母版谱系、主题几何 parity、微尺寸光学校正、单色母版、`VisualEvidencePack` 与 blocker reset 管理 logo/icon 等品牌资产生产;文件存在、构建成功或单张截图不能替代同画布证据与人工结论。当前只完成结构化 V97/前向试用证据,仍需真实 WorkUnit 才能晋级 active
5152
- **发布前审查与关键路径治理**: `audit-release` 负责 release readiness、说明、兼容、包与发布风险;`release-verification` 执行 R0~R7,并以 `ReleaseEfficiencyControlGate` 的 `CandidateFreezeGate`、`ReleaseCriticalPathBudgetGate`、`ValidationEvidenceReuseGate` 管理候选 generation、预算和证据失效。pack/install smoke 额外执行 `IsolatedConsumerCwdGate`:显式 consumer manifest、真实 consumer cwd、source identity 前后对账;禁止用 `npm init --prefix` 冒充 cwd 隔离。无可比较基线时预算只能 advisory,不能削弱 version/pack/registry/R7
5253
- **审计与修复授权分离**: `AuditMutationBoundaryGate` 规定 audit 只写报告、audit-state、记忆和运行态台账;任何源码/规范/配置/测试/文档/部署副本修复都需用户显式授权后进入独立 fix/self-fix,audit 不自动改源、`git add` 或继承修复权限
5354
- **分析与用户文档能力**: `analyze-default` / `analyze-research` 承接分析与调研;`user-manual-authoring`、`audit-user-manual`、`readme-authoring` 和 `audit-readme` 收口站点文档 / README / quick start 的用户路径、信息架构、配置排错和真实工作流。声称场景完整时必须执行 `ScenarioCoverageMatrixProbe`;队列/批处理还要执行 `DurableBatchOrchestrationProbe`,页面或关键词存在、一次 `addBulk`、进程内 callback 都不能替代持久 run、故障恢复与 executable evidence
@@ -164,7 +165,7 @@ npx @vextjs/devcodex init --codex # 仅 Codex adapter
164165
├── copilot-instructions.md ← 默认 Copilot always-on 总则(新增)
165166
├── instructions/ ← Instructions 约束(15 个,含全部工作流规则)
166167
├── agents/ ← Copilot 自定义 Agent(v1.9.8 起恢复默认分发)
167-
├── skills/ ← Skill 详细检查标准(76 个,按需读取,含默认分析、用户文档、用户侧文档 review 聚合、专家型产物质量、21 个专家 Owner Skill、复审清单、自我进化治理、README 专项能力、spec-governance、spec-absorption 与 5 个支撑型 Skill);其中 74 active,`rework-prevention-engineering`、`consumer-validation-engineering` 2 个 gray,后者承接跨仓消费者验证
168+
├── skills/ ← 当前源码 Skill 详细检查标准(77 个,按需读取,含默认分析、用户文档、用户侧文档 review 聚合、专家型产物质量、21 个专家 Owner Skill、复审清单、自我进化治理、README 专项能力、spec-governance、spec-absorption 与 5 个支撑型 Skill);其中 74 active,`rework-prevention-engineering`、`consumer-validation-engineering`、`brand-visual-quality` 3 个 gray;新增品牌视觉能力尚未发版
168169
├── prompts/ ← Prompt 模板(30 个)
169170
├── hooks/ ← 宿主生命周期 Hook 配置与运行时
170171
│ ├── devcodex.lifecycle.json
@@ -390,7 +391,7 @@ devcodex/
390391
├── instructions.md # 单源规范文件;安装时按平台生成 copilot-instructions.md / CLAUDE.md / AGENTS.md
391392
├── agents/ # Agent 源文件;Copilot 端默认分发,Claude Code 端不分发
392393
├── instructions/ # 全局 Instructions(15 个,含工作流规则摘要,自动注入)
393-
├── skills/ # Skill 详细检查标准(76 个,按 01-common §按需读取表 路由读取)
394+
├── skills/ # Skill 详细检查标准(77 个,按 01-common §按需读取表 路由读取)
394395
├── prompts/ # Prompt 模板(30 个)
395396
├── hooks/ # Workspace Hooks 配置与分发到 `.github/hooks/_runtime/` 的运行时及 helper 模块
396397
├── codex/ # Codex adapter 源模板(分发到 `.codex/hooks.json`,不是工作区部署副本 `.codex/`)

‎changelogs/unreleased.md‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,12 @@
88

99
## 当前未发布变更
1010

11-
暂无未发布变更。
11+
### 2026-07-15
12+
13+
- 新增 gray `brand-visual-quality` 与 `BrandVisualQualityGate`,覆盖 MasterLineage、ThemeGeometryParity、MicroOpticalVariant、MonoMaster、VisualEvidencePack、VisualBlockerReset;以 V97 正负 fixture 和独立前向试用守门,未形成真实 WorkUnit 前不晋级 active。
14+
- `RuntimeStateTransitionProjectionGate` 将 append-only 历史迁移、当前权威投影、低权威 consumer drift 和真正 `CONFLICTING_CURRENT_STATE` 分离,保留 schema v1/read-only 兼容并降低 strict conflict 噪声。
15+
- `ProfileReleaseTruthAuthorityMatrixGate` 以 package/plugin 为 DevCodex release authority,对账 project 01/05/07 与 workspace current claim;历史 release/versioned docs 不被批量误判。
16+
- Skill portfolio 更新为当前源码 77(74 active + 3 gray),同步 gate registry、CP/TestRoute/report/prompts、README/website/Profile、V92/V95/V97 与 package closure;版本仍为 1.14.0,本批不 tag、不 publish。
1217

1318
## 记录提示
1419

‎package.json‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"test:probe-registry": "node scripts/test-probe-registry.js",
3030
"test:cli-command-registry": "node scripts/test-cli-command-registry.js",
3131
"test:control-plane-module-contracts": "node scripts/test-control-plane-module-contracts.js",
32-
"test:control-plane": "npm run test:probe-registry && npm run test:cli-command-registry && npm run test:tenant-selection && npm run test:workflow-capabilities && npm run test:api-verification-contracts && npm run test:git-index-isolation && npm run test:control-plane-contracts && npm run test:markdown-structure && npm run test:control-plane-module-contracts && npm run test:consumer-evolution-controls && npm run test:residual-absorption-controls",
32+
"test:control-plane": "npm run test:probe-registry && npm run test:cli-command-registry && npm run test:tenant-selection && npm run test:workflow-capabilities && npm run test:api-verification-contracts && npm run test:git-index-isolation && npm run test:control-plane-contracts && npm run test:markdown-structure && npm run test:control-plane-module-contracts && npm run test:consumer-evolution-controls && npm run test:residual-absorption-controls && npm run test:brand-visual-quality",
3333
"test:tenant-selection": "node scripts/test-tenant-selection.js",
3434
"test:workflow-capabilities": "node scripts/test-workflow-capabilities.js",
3535
"test:api-verification-contracts": "node scripts/test-api-verification-contracts.js",
@@ -38,10 +38,11 @@
3838
"test:markdown-structure": "node scripts/test-markdown-structure.js",
3939
"test:consumer-evolution-controls": "node scripts/test-consumer-evolution-controls.js",
4040
"test:residual-absorption-controls": "node scripts/test-residual-absorption-controls.js",
41+
"test:brand-visual-quality": "node scripts/test-brand-visual-quality.js",
4142
"test:checked-command": "node scripts/test-checked-command.js",
4243
"test:optimization-controls": "node scripts/test-checked-command.js && node scripts/test-skill-portfolio.js && node scripts/generate-skill-portfolio.js --check && node scripts/test-runtime-state-index.js && node scripts/test-deployment-manifest.js",
4344
"test:coverage-target": "npm run test:optimization-controls && npm run test:control-plane",
44-
"test:coverage": "c8 --all --include scripts/lib/checked-command.js --include scripts/lib/skill-portfolio-utils.js --include scripts/lib/runtime-state-index.js --include scripts/lib/deployment-manifest-utils.js --include scripts/lib/probe-registry.js --include scripts/lib/cli-command-registry.js --include scripts/lib/validate-modularity-controls.js --include scripts/lib/validate-consumer-evolution-controls.js --include scripts/lib/validate-residual-absorption-controls.js --reporter=text --reporter=json-summary --reporter=lcov npm run test:coverage-target",
45+
"test:coverage": "c8 --all --include scripts/lib/checked-command.js --include scripts/lib/skill-portfolio-utils.js --include scripts/lib/runtime-state-index.js --include scripts/lib/deployment-manifest-utils.js --include scripts/lib/probe-registry.js --include scripts/lib/cli-command-registry.js --include scripts/lib/validate-modularity-controls.js --include scripts/lib/validate-consumer-evolution-controls.js --include scripts/lib/validate-residual-absorption-controls.js --include scripts/lib/validate-brand-visual-quality.js --reporter=text --reporter=json-summary --reporter=lcov npm run test:coverage-target",
4546
"release:dry-run:npmjs": "node scripts/publish-dry-run.js --registry npmjs",
4647
"release:dry-run:github": "node scripts/publish-dry-run.js --registry github",
4748
"release:dry-run:all": "node scripts/publish-dry-run.js --registry all",
@@ -99,6 +100,7 @@
99100
"scripts/lib/checked-command.js",
100101
"scripts/lib/skill-portfolio-utils.js",
101102
"scripts/lib/runtime-state-index.js",
103+
"scripts/lib/validate-brand-visual-quality.js",
102104
"scripts/lib/deployment-manifest-utils.js",
103105
"scripts/lib/cli-host-utils.js",
104106
"scripts/lib/cli-runtime-utils.js",

‎plugin.json‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,12 @@
340340
"file": "skills/design-system-architecture/SKILL.md",
341341
"tier": "free"
342342
},
343+
{
344+
"id": "brand-visual-quality",
345+
"file": "skills/brand-visual-quality/SKILL.md",
346+
"lifecycleState": "gray",
347+
"tier": "free"
348+
},
343349
{
344350
"id": "accessibility-i18n",
345351
"file": "skills/accessibility-i18n/SKILL.md",

‎prompts/implementation-plan.prompt.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ applyTo: .devcodex/**/requirements/**
1515
> ⚠️ 若本轮任务或批次直接来源于 `data/*.md` 的 open/partial 项,计划中必须显式写出 Backlog Intake 真相复核和台账状态回写闭环:先分类 `pure-open / residual-tail / already-fixed / misclassified`,再说明本轮范围是否缩减以及回写证据如何产出。
1616
> ⚠️ 若 CP1 真相源是产品直接提供的 `01-产品需求.md`,实施计划只能承接产品原文、流程节点、前端交互、字段描述和 AI / 研发缺口检查结果;不得把计划写成新的产品需求稿。
1717
> ⚠️ 发布、pack、benchmark、codegen 或包边界任务必须写明串行验证顺序:构建/生成完成后再单独执行 package boundary check,不得与会写入 `dist` 的命令并行。
18-
> ⚠️ 文档、UI、专家质量、发布、数据、安全、性能、外部消费者、复审或治理等条件能力统一从 `skills/spec-governance/gate-registry.json` 选择 `gateGroup` 与 Owner Skill;计划只记录实际触发项、Owner 产物、验证路线和 skipReason,不维护版本化 Gate/Owner 名录。
18+
> ⚠️ 文档、UI、专家质量、发布、数据、安全、性能、外部消费者、复审或治理等条件能力统一从 `skills/spec-governance/gate-registry.json` 选择 `gateGroup` 与 Owner Skill;计划只记录实际触发项、Owner 产物、验证路线和 skipReason,不维护版本化 Gate/Owner 名录。命中 `brand-visual-quality` 时把母版谱系、主题几何、微尺寸/单色、视觉证据和 blocker reset 分配到同一可验收批次。
1919
2020
## 计划模式
2121

‎prompts/report-dev.prompt.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ applyTo: .devcodex/**/reports/requirements/**
7272

7373
跨会话、多批次、中断或残余风险未关闭时追加 `ContextHandoffCard`;Profile、release、service lifecycle 等条件段按 schema 与 Owner Skill 生成。
7474

75+
命中品牌资产生产时追加 `BrandVisualQuality` 条件段:只记录五类产物链接、自动检查、人工结论、blocker reset 与剩余风险,不把文件存在或单张截图写成通过。
76+
7577
## §6 测试验证
7678

7779
| selector / gateGroup | 结果 | 命令与 exitCode | 证据 / skipReason |

‎prompts/technical-design.prompt.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ applyTo: .devcodex/**/requirements/**
2121
> ⚠️ 若本方案承接了用户可见“意图扩展摘要”,必须在 §0 或 §1 说明语义初判、项目现实扩展后路由、关键风险、验证路线与备选路径如何落到方案中。
2222
> ⚠️ 新增/升级依赖、框架、SDK、平台 API 或外部模块时,§4 必须填写 `OfficialDocsEvidence`:官方文档来源、版本/日期、关键用法、限制、兼容性与降级来源。
2323
> ⚠️ dev/fix 项目事实变化时,必须填写 `ProfileImpactCheck`:是否更新 Profile、目标文件与 `skipReason`。
24-
> ⚠️ 条件治理能力统一从 `skills/spec-governance/gate-registry.json` 选择 `gateGroup` 与 Owner Skill;技术方案只写触发事实、owner、产物链接、验证路线和 skipReason,不复制 Owner 正文。
24+
> ⚠️ 条件治理能力统一从 `skills/spec-governance/gate-registry.json` 选择 `gateGroup` 与 Owner Skill;技术方案只写触发事实、owner、产物链接、验证路线和 skipReason,不复制 Owner 正文。品牌母版、主题/尺寸变体或单色资产生产命中 `brand-visual-quality` 时,必须链接五类视觉产物和人工验收路线。
2525
> ⚠️ provider / connector / 三方 SDK 接入类方案必须先冻结业务功能接口,再说明底层 provider adapter / model / operation / 配置如何实现该功能;不得把内部 provider 能力直接反向暴露成业务接口。随后冻结字段级合同和统一 operation contract;包 / 库 / adapter / CLI 方案必须同时检查代码实现层与包工程层。
2626
> ⚠️ CP2 必须承接 CP1 的平台工程判断和 `ImplementationComplexityLevel`(兼容旧字段 `ImplementationComplexityPreference`):消费者范围、共享契约边界、模块职责、可维护性成本、非目标和最小实现预算要互相一致;没有真实复用者或演进边界时,不得新增 factory / manager / adapter / registry 等预设抽象。
2727
> ⚠️ §7 必须物化验证计划、命令/矩阵路线、验收标准和退出条件;进入编码前,§2.6 写清允许首批、阻断范围、偏移触发、验证路线和消费者同步。

0 commit comments

Comments
 (0)