# Knowledge Engineering Quality And Delivery

> 覆盖 Blade Code 跨测试、构建、资格验证、发布与双语文档的工程质量闭环。 Navigate when: 调整测试分层、CI 门禁、真实 API 准出、构建产物、npm 发布或文档同步。 Excludes: 具体运行时业务语义（转到对应功能域）；各门禁实现细节继续进入本节点的四个子节点。 Keywords: quality gate, qualification, Vitest, real API, performance, security, snapshot, build, release, npm, GitHub Actions, Docsify, changelog.

- Skill: `echovic/knowledge-engineering-quality-and-delivery` (Agent Skill)
- Install (CLI): `npx skillmds@latest add echovic/knowledge-engineering-quality-and-delivery`
- Raw SKILL.md: https://api.skillmd.com/api/skills/echovic/knowledge-engineering-quality-and-delivery/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: echovic (https://skillmd.com/u/echovic)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/echovic/knowledge-engineering-quality-and-delivery

---


## Module Structure

该域不是单一模块，而是把确定性测试、付费模型轨迹、制品级门禁和 tag 驱动发布串成一条跨 CLI、Web、ACP、TUI 与文档的交付链。

### Directory Layout
- `packages/cli/tests/` — CLI 核心的 unit、integration、CLI、E2E、real-api、performance、snapshot 与 security 测试
- `packages/cli/web/tests/` — Web 组件、Store、服务和 bundle 预算测试
- `packages/cli/scripts/` — 测试运行器、资格编排、构建、凭据加载与发布脚本
- `scripts/` — 仓库级发布辅助和独立基准脚本
- `.github/workflows/` — CI、tag 发布与 Docs Pages 部署
- `docs/` — 中文默认站点、英文镜像、设计规格和准出证据
- `package.json`、`packages/cli/package.json` — 工作区命令、发布包边界与版本
- `biome.json`、`packages/cli/vitest.config.ts`、`packages/cli/web/vitest.config.ts` — 静态检查与测试项目定义

### Key Entry Points
- `createQualificationPlan()` in `packages/cli/scripts/qualification.ts` — 定义本地 14 项和生产 16 项顺序门禁
- `testTypes` in `packages/cli/scripts/test-config.js` — 定义各 Vitest 项目、超时、环境和发布阻断文件白名单
- `packages/cli/scripts/build.ts` — 构建 CLI ESM 产物并把 Web 输出到同一发布目录
- `.github/workflows/ci.yml` — 聚合确定性 CI 作业
- `.github/workflows/publish.yml` — 校验 tag/包版本并通过 npm Trusted Publishing 发布
- `.github/workflows/docs.yml` — 生成文档站 changelog 并部署 Pages

## Branching Table

| 维度 | 本地或确定性分支 | 生产或发布分支 |
|------|------------------|----------------|
| 资格入口 | `qualify:local` 顺序执行 14 项且不接触付费凭据 | `qualify:production` 在本地门禁后追加 Chromium preflight 和付费真实 API |
| 测试证据 | unit/integration/E2E 允许隔离、mock 或本地 fixture | release matrix 要求真实 Provider、production surface 和宿主侧副作用证据 |
| 覆盖率与性能 | coverage 插桩运行除 performance 外的项目 | performance 在 production build 后独立运行，避免插桩污染时序 |
| 发布准备与发布 | 本地负责冻结候选、版本、双语 changelog、资格证据与 tag | tag workflow 只校验版本、构建、幂等发布 npm/GitHub Release |
| 文档源与站点产物 | `docs/`、`CHANGELOG.md`、`CHANGELOG.zh.md` 是 Git 可见源 | `docs/changelog.md` 与 `docs/en/changelog.md` 在部署时生成且被忽略 |
| 浏览器依赖 | npm 包携带固定 Playwright 运行库但不下载 Chromium | 浏览器门禁要求显式安装并通过离线 launch/close preflight |

## Affected Scope
- `packages/cli/src/` — 每个运行时变更都要映射到确定性回归与适当的真实轨迹
- `packages/cli/web/src/` — Web 行为同时受组件测试、production Chromium 轨迹和 bundle 预算约束
- `packages/cli/tests/` — 汇集本地回归、跨表面驱动、资源回收和发布矩阵
- `packages/cli/scripts/` — 决定测试项目选择、超时、凭据隔离、构建顺序和本地发布行为
- `.github/workflows/` — 把静态检查、跨平台 smoke、coverage、安全审计、npm 与 Pages 分成独立作业
- `packages/cli/package.json` — 发布版本、npm 文件清单、运行时依赖和质量命令的权威入口
- `CHANGELOG.md`、`CHANGELOG.zh.md` — 英文包内更新信息与中文同步发布记录
- `docs/` — 用户行为契约、设计冻结记录和可审计的资格证据

## Gotchas
- `bun run test:all` 不是完整准出：它不执行资格编排的类型、格式、lint、构建、浏览器 preflight 和付费矩阵，发布判断必须使用 `qualify:local` 与 `qualify:production` (`package.json`, `packages/cli/scripts/qualification.ts`)
- tag 触发的发布工作流不重新运行测试或真实 API；错误地把 `publish.yml` 成功当作候选质量证明，会发布仅“可构建”的未资格版本 (`.github/workflows/publish.yml`, `docs/testing/qualification.md`)
- 当前 `release:patch` 路径由配置关闭测试、代码质量和安全检查，只能做版本/tag 编排，不能替代冻结 SHA 上的资格流程 (`packages/cli/release.config.js`, `packages/cli/scripts/release.js`)
- `tests/e2e/` 的名称不代表生产端到端证据，其中仍有 mock 与占位断言；发布级行为由显式 `realApiQualification.files` 决定 (`packages/cli/tests/e2e/core-features.test.ts`, `packages/cli/tests/e2e/flows/chat-flow.test.ts`, `packages/cli/scripts/test-config.js`)

## Architecture
- 资格编排严格串行且首个非零退出即停止，避免后续通过项掩盖更早的失败；CI 则拆成并行作业，最终由 `ci-pass` 汇总失败与取消状态 (`packages/cli/scripts/qualification.ts`, `.github/workflows/ci.yml`)
- 交付证据分为确定性代码门禁、真实 Provider/宿主轨迹、冻结候选 evidence 文档和 tag 后 registry/Release 验证，任一层都不能由另一层替代 (`docs/testing/qualification.md`)
- 构建把后端与 Web 放入 `packages/cli/dist/`，npm 包再通过 `files` 白名单发布该目录及少量运行时资产；性能与 Web 制品测试因此必须位于构建之后 (`packages/cli/scripts/build.ts`, `packages/cli/package.json`, `packages/cli/scripts/qualification.ts`)

## Decisions
- 公共 CI 不注入付费 Provider 凭据，真实 API 是发布者在候选 SHA 上显式运行的门禁；这避免 secret 暴露，但意味着 tag workflow 本身不是完整准出权威 (`docs/testing/qualification.md`, `.github/workflows/ci.yml`)
- 每个独立功能或修复单独发布 patch，并让版本、双语 changelog、用户文档和资格证据共同描述同一个行为增量 (`AGENTS.md`)

## Patterns
- 高风险功能通常同时增加确定性单测、真实 API 跨表面轨迹、`test-config.js` 白名单断言、资格文档和最终版本元数据，缺一项会留下未覆盖分支 (`packages/cli/tests/unit/scripts/test-runner.test.ts`, `docs/testing/qualification.md`)
- 近期开版提交稳定地把 `packages/cli/package.json`、`CHANGELOG.md` 与 `CHANGELOG.zh.md` 一起变更，防止包版本与两种语言的发布记录漂移 (`packages/cli/package.json`, `CHANGELOG.md`, `CHANGELOG.zh.md`, `git:1ce74b03`)

## Conventions
- 中文文档位于 `docs/` 根，英文镜像位于 `docs/en/`；行为变化需要同步两边，而生成的站点 changelog 只能由部署工作流复制 (`AGENTS.md`, `.github/workflows/docs.yml`)

## Branching Behavior
- 非付费检查会主动移除 real-API 开关、凭据文件位置和各 Provider key/model 变量；只有标记为 `paid-api` 的最后一项接收物化后的凭据环境 (`packages/cli/scripts/qualification.ts`)
- production 分支在真实 API 前执行不联网的 Chromium 检查，preflight 失败会令顺序执行器停止，从而保证零 Provider 请求 (`packages/cli/scripts/qualification.ts`, `packages/cli/tests/unit/scripts/qualification.test.ts`)
- coverage 分支排除 wall-clock performance，而本地资格分支在构建后单独执行 performance；新增制品性能断言时必须同时考虑这两个入口 (`packages/cli/vitest.config.ts`, `packages/cli/scripts/test-config.js`, `packages/cli/scripts/qualification.ts`)
- 发布分支以 `packages/cli/package.json` 的版本匹配 `v*.*.*` tag；仓库根 `package.json` 的私有 monorepo 版本不是 npm 发布版本 (`package.json`, `packages/cli/package.json`, `.github/workflows/publish.yml`)

## Child Knowledge Nodes
- `./unit-integration-and-shared-test-harnesses/SKILL.md` — Navigate when: 新增 unit/integration/Web 测试，调整 Vitest project、mock、临时目录或测试进程清理
- `./real-api-qualification-and-e2e/SKILL.md` — Navigate when: 修改真实 Provider、发布矩阵、跨表面驱动、凭据或资格证据
- `./performance-security-and-snapshot-gates/SKILL.md` — Navigate when: 调整性能预算、安全检查、coverage 或快照更新策略
- `./build-release-and-documentation/SKILL.md` — Navigate when: 修改构建输出、npm 包内容、版本/tag 发布、CI action 或双语文档部署

