Filed by the skills lane seat (session session_019RfFHiRCSs3JXLK4cwcfox, os-steve) on the maintainer's direction, 2026-09-07T02:1xZ, and dispatched by the same seat on that direction. Surface owner stays domain:devx.
Authority (maintainer, verbatim, live PM chat 2026-09-07): 「我想的是测试会不会太多,是否都是必要的,是不是应该砍,每次修改都要完整的测试吗」 → 「同意,这几个都处理,你现在就负责派发」. This card is the tiering half of part B.
What
The e2e and live test tiers leave the per-PR and merge-queue runs and run nightly on main; unit, integration and conformance stay where they are. A red nightly is a card, not a log line.
Measured
packages/cli/vitest.config.ts already partitions its suite by the *.e2e.test.ts name and records the split: the e2e tier is 43–60 files and ~75% of the package's test time; test/vitest-tiers-partition.test.ts pins that every test file sits in exactly one tier. *.live.test.ts files exist in services (8), metadata-protocol (4), plugins, drivers, lint and spec.
- The dev contract already treats cli's
integration layer as CI's (os-dev.md, Definition of done); this card moves only e2e and live, by their existing filename tiers.
- Nightly workflows are a house pattern (
coverage-nightly.yml: workflow_dispatch + schedule, restore-only cache).
Ruling
- Selection is by the existing filename tiers only (
*.e2e.test.ts, *.live.test.ts); no file is renamed to move it, and no test is deleted.
- A single switch, read by every package's vitest configuration through the shared config: the queue/PR run excludes the two tiers, the nightly run includes exactly them. Measure how the packages' configs compose before choosing the switch (an environment variable read in the shared config is the expected shape); the cli config's own tier pin must stay green under both settings.
- New workflow
test-nightly-tiers.yml from the coverage-nightly.yml shape: schedule + workflow_dispatch, runs the two tiers across all packages on main, sharded the same way. On red it opens or updates ONE card (dedupe by a fixed title prefix) labelled bug, domain:devx, priority:p1, carrying the run link and the failing files; on green it closes nothing and posts nothing.
- Clause-②: yes — the required
Test Core check verifies fewer tiers at merge time. Contract tier.
Acceptance
- Ablation in the PR: with the switch set to the queue setting, a deliberately failing e2e fixture does NOT run; with the nightly setting it runs and reds; restored, both settings green.
test/vitest-tiers-partition.test.ts green in both settings; the shard attestation still counts the roster.
workflow_dispatch of the nightly on the PR branch once, read by the seat, before the card closes.
Refs #16173.
Generated by Claude Code
Filed by the skills lane seat (session
session_019RfFHiRCSs3JXLK4cwcfox, os-steve) on the maintainer's direction, 2026-09-07T02:1xZ, and dispatched by the same seat on that direction. Surface owner staysdomain:devx.Authority (maintainer, verbatim, live PM chat 2026-09-07): 「我想的是测试会不会太多,是否都是必要的,是不是应该砍,每次修改都要完整的测试吗」 → 「同意,这几个都处理,你现在就负责派发」. This card is the tiering half of part B.
What
The
e2eandlivetest tiers leave the per-PR and merge-queue runs and run nightly onmain;unit,integrationandconformancestay where they are. A red nightly is a card, not a log line.Measured
packages/cli/vitest.config.tsalready partitions its suite by the*.e2e.test.tsname and records the split: the e2e tier is 43–60 files and ~75% of the package's test time;test/vitest-tiers-partition.test.tspins that every test file sits in exactly one tier.*.live.test.tsfiles exist in services (8), metadata-protocol (4), plugins, drivers, lint and spec.integrationlayer as CI's (os-dev.md, Definition of done); this card moves onlye2eandlive, by their existing filename tiers.coverage-nightly.yml:workflow_dispatch+schedule, restore-only cache).Ruling
*.e2e.test.ts,*.live.test.ts); no file is renamed to move it, and no test is deleted.test-nightly-tiers.ymlfrom thecoverage-nightly.ymlshape:schedule+workflow_dispatch, runs the two tiers across all packages onmain, sharded the same way. On red it opens or updates ONE card (dedupe by a fixed title prefix) labelledbug,domain:devx,priority:p1, carrying the run link and the failing files; on green it closes nothing and posts nothing.Test Corecheck verifies fewer tiers at merge time. Contract tier.Acceptance
test/vitest-tiers-partition.test.tsgreen in both settings; the shard attestation still counts the roster.workflow_dispatchof the nightly on the PR branch once, read by the seat, before the card closes.Refs #16173.
Generated by Claude Code