|
9 | 9 |
|
10 | 10 | | Gate | Command / Workflow | 保護範圍 | 備註 | |
11 | 11 | | -------------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | |
12 | | -| Strict checker | `bun run check` / GitHub `CI` workflow | base checks、100% JS/Rust coverage、browser build、browser-preview e2e、desktop-bridge truth gate、desktop-contract JS mutation | 這是 signed-off per-commit checker;`main` push / PR / manual CI 與本地使用同一條 effective gate。 | |
| 12 | +| Strict checker | `bun run check` / GitHub `CI` workflow | base checks、100% JS/Rust coverage、browser build、browser-preview e2e、desktop-bridge truth gate、desktop-contract JS mutation、Codecov upload | 這是 signed-off per-commit checker;`main` push / PR / manual CI 與本地使用同一條 effective gate。 | |
13 | 13 | | Base triage | `bun run check:base` | Prettier、ESLint、i18n parity/raw-English guard、TypeScript、Vitest、desktop contract slice、Rust fmt / clippy / workspace tests、supply-chain audit、host-matched platform-native checks | 只作 fast triage helper;不能替代 `bun run check`。 | |
14 | 14 | | JS coverage | `bun run coverage:js` | active `src/**/*.{ts,tsx}` runtime source | 100% statement / branch / function / line coverage。 | |
15 | 15 | | Rust coverage | `bun run coverage:rust` | full `src-tauri/**/src/*.rs` workspace source surface | 100% line + function coverage;舊 quality slice 只保留作 triage helper。 | |
|
27 | 27 | - host-matched platform-native keyring / scheduler / launcher / discovery / biometric smoke |
28 | 28 | - desktop updater / launcher command surface 與 debug desktop build smoke |
29 | 29 |
|
30 | | -這些 sub-gate 的責任是保護 desktop entry、typed IPC contract 與 platform-specific host truth;它們不是替 shell / route / sidebar / trust-critical flows 做全站背書。GitHub `CI` workflow 現在會在 `main` push、PR 與 manual dispatch 時安裝 Linux desktop/native dependencies 後直接跑 `bun run check`,所以 hosted runner 也要承擔同一條 per-commit checker;manual `Platform Native` workflow 只保留作 host-sensitive parity / triage。 |
| 30 | +這些 sub-gate 的責任是保護 desktop entry、typed IPC contract 與 platform-specific host truth;它們不是替 shell / route / sidebar / trust-critical flows 做全站背書。GitHub `CI` workflow 現在會在 `main` push、PR 與 manual dispatch 時安裝 Linux desktop/native dependencies 後直接跑 `bun run check`,再把 `coverage/js/lcov.info` 與 `coverage/rust.lcov.info` 上傳到 Codecov;所以 hosted runner 也要承擔同一條 per-commit checker;manual `Platform Native` workflow 只保留作 host-sensitive parity / triage。 |
31 | 31 |
|
32 | 32 | --- |
33 | 33 |
|
@@ -78,18 +78,18 @@ whole-workspace mutation 是 deep/release investigation gate;若成本或 surv |
78 | 78 |
|
79 | 79 | ## Focused / Release Helpers |
80 | 80 |
|
81 | | -| Gate | Command / Workflow | 用途 | 備註 | |
82 | | -| -------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | |
83 | | -| Platform Rust native sweep | `bun run test:platform:rust` / GitHub `Platform Native` workflow | 直接驗證 host keyring / scheduler / launcher / discovery / biometric capability | hosted runner 成本高且 host-sensitive,所以移到 manual workflow;Linux job 仍會在隔離 `dbus-run-session` 內啟動 `gnome-keyring-daemon`。 | |
84 | | -| Platform desktop slice | `bun run test:platform:desktop` / GitHub `Platform Native` workflow | debug desktop build + updater / launcher desktop command slice | 這是 desktop command truth,不等於 browser preview e2e。 | |
85 | | -| Project-scoped native dependency proof | `bun run native-deps:doctor` + OpenCC vcpkg install / GitHub `Native Dependencies` workflow | 驗證 repo-local vcpkg native dependency contract | 只在 manual dispatch、PR、或 `main` push 觸及 native-deps/vcpkg contract path 時跑;不屬於每次 commit 的 strict checker。 | |
86 | | -| Chrome desktop bridge smoke | `bun run test:e2e:desktop-bridge:truth` | 啟動 feature-gated desktop bridge,讓 Chrome / Playwright 驗證真實 Rust command | 已納入 `bun run check`;單獨跑只作 bridge triage。 | |
87 | | -| Desktop-contract JS mutation | `bun run mutation:js` / `bun run check:mutation` | 對 desktop entry + typed IPC contract 做 lightweight mutation gate | 已納入 `bun run check`;2026-04-27 current-host wall time 約 50 秒,break threshold 是 100。 | |
88 | | -| Full JS mutation sweep | `bun run mutation:js:full` / GitHub `Mutation` workflow `javascript-mutation` | 對 active frontend runtime surface 做 repo-level mutation investigation | Manual / scheduled deep gate;2026-04-27 dry-run 約 2m20s,full sweep 21769 mutants,按 44m/32% 實測估算約 2-3 小時。 | |
89 | | -| Rust mutation sweep | `bun run mutation:rust:full` / GitHub `Mutation` workflow `rust-mutation` | whole-workspace cargo-mutants sweep | Manual / scheduled deep gate;focused `mutation:rust:quality` 只作 triage helper。 | |
90 | | -| Full local sweep | `bun run check:full` | `bun run check` alias | 保留給舊 muscle memory;不再是比 `check` 更嚴的 gate。 | |
91 | | -| Release-style local verification | `bun run verify` | `check` + `desktop:build:debug` | 作為 release / milestone closeout 的本地預演;會先透過 `check` 自動觸發 coverage、e2e 與 mutation。 | |
92 | | -| Deep local verification | `bun run check:deep` | `check` + full JS/Rust mutation sweep | 只用於 release candidate / long-running manual pass;不作每次 commit 要求。 | |
| 81 | +| Gate | Command / Workflow | 用途 | 備註 | |
| 82 | +| -------------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | |
| 83 | +| Platform Rust native sweep | `bun run test:platform:rust` / GitHub `Platform Native` workflow | 直接驗證 host keyring / scheduler / launcher / discovery / biometric capability | hosted runner 成本高且 host-sensitive,所以移到 manual workflow;Linux job 仍會在隔離 `dbus-run-session` 內啟動 `gnome-keyring-daemon`。 | |
| 84 | +| Platform desktop slice | `bun run test:platform:desktop` / GitHub `Platform Native` workflow | debug desktop build + updater / launcher desktop command slice | 這是 desktop command truth,不等於 browser preview e2e。 | |
| 85 | +| Project-scoped native dependency proof | `bun run native-deps:doctor` + OpenCC vcpkg install / GitHub `Native Dependencies` workflow | 驗證 repo-local vcpkg native dependency contract | 只在 manual dispatch、PR、或 `main` push 觸及 native-deps/vcpkg contract path 時跑;macOS proof 用 `macos-15-intel` + `x64-osx`,不屬於每次 commit 的 strict checker。 | |
| 86 | +| Chrome desktop bridge smoke | `bun run test:e2e:desktop-bridge:truth` | 啟動 feature-gated desktop bridge,讓 Chrome / Playwright 驗證真實 Rust command | 已納入 `bun run check`;單獨跑只作 bridge triage。 | |
| 87 | +| Desktop-contract JS mutation | `bun run mutation:js` / `bun run check:mutation` | 對 desktop entry + typed IPC contract 做 lightweight mutation gate | 已納入 `bun run check`;2026-04-27 current-host wall time 約 50 秒,break threshold 是 100。 | |
| 88 | +| Full JS mutation sweep | `bun run mutation:js:full` / GitHub `Mutation` workflow `javascript-mutation` | 對 active frontend runtime surface 做 repo-level mutation investigation | Manual / scheduled deep gate;2026-04-27 dry-run 約 2m20s,full sweep 21769 mutants,按 44m/32% 實測估算約 2-3 小時。 | |
| 89 | +| Rust mutation sweep | `bun run mutation:rust:full` / GitHub `Mutation` workflow `rust-mutation` | whole-workspace cargo-mutants sweep | Manual / scheduled deep gate;focused `mutation:rust:quality` 只作 triage helper。 | |
| 90 | +| Full local sweep | `bun run check:full` | `bun run check` alias | 保留給舊 muscle memory;不再是比 `check` 更嚴的 gate。 | |
| 91 | +| Release-style local verification | `bun run verify` | `check` + `desktop:build:debug` | 作為 release / milestone closeout 的本地預演;會先透過 `check` 自動觸發 coverage、e2e 與 mutation。 | |
| 92 | +| Deep local verification | `bun run check:deep` | `check` + full JS/Rust mutation sweep | 只用於 release candidate / long-running manual pass;不作每次 commit 要求。 | |
93 | 93 |
|
94 | 94 | > 2026-04-27 gate-cost decision:舊的 2026-04-08 signed-off parser / AI helper mutation contract 仍是 focused triage helper;不能被誤報成 Rust mutation gate。`WORK-QA-GATE-A` 的當前 truth 以 `STATUS.md` 為準,100% JS/Rust coverage 仍是 stop-ship,full JS/Rust mutation 改為 deep/manual evidence 而不是 per-commit blocker。 |
95 | 95 |
|
|
0 commit comments