Repository navigation
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Part of epic #337 (linked as parent). The owner approved the epic and all its batches on 2026-10-10; this child is batch 2 and inherits that approval.
User story
As the owner, I want CI to fail when a code file or an e2e test belongs to no area, so that test selection never skips code silently.
Acceptance criteria
- The map check fails and names each tracked code file that no area glob matches.
- The map check fails and names each row test that resolves to no area.
- The map check fails and names each
Testoutside the features, contract and coverage packages. - The map check fails and names each area that selects no feature test, except reserved and
journey-onlyareas. - The map check fails and names each app build file that maps only to
no-test. - FEATURES.md defines the area grammar, glob grammar, reserved areas and
journey-onlyin plain text.
What I'd notice: nothing day to day. A PR that adds an unmapped file or test fails CI and names it.
Tasks
-
AreaMap,ParseAreaMap,GlobMatch,AreasOf,IsTestOnlyine2e/coverage/areas.go. - Rules M1 to M4 and the syntax checks in
e2e/coverage/maprules.go, wired intoTestFeatureMapCoverage. - Reserved areas
every-testandno-test, globs for every unmapped tracked file,presenceon every gated goal, and the grammar section indocs/FEATURES.md. - Rules table in
docs/testing.md. - Tests from these criteria:
maprules_test.gowith a fixture repo.
Contract
The planner's contract is the comment on #337, sections 1 and 3 and child A. Clause 2: no (tightens only).
Ownership:
- dev:
docs/FEATURES.md,e2e/coverage/areas.go(new),e2e/coverage/maprules.go(new),e2e/coverage/coverage.go(wiring),docs/testing.md(rules table) - test-writer:
e2e/coverage/maprules_test.go,e2e/coverage/testdata/repo/
Budget: 7 files, about 600 lines.
Waits: none; the map check is a pure function of the checkout and go list.
Decisions made for the owner
- See the contract comment on Epic: PRs run only the e2e tests their change affects, with a full run at epic close #337.
e2e/coverage/**,cmd/testmcp/**andcmd/testservice/**sit inno-test: the coverage package always runs under selection, and no e2e test builds the probe binaries.internal/relayfs/**maps tosessionsandaudit, the areas of its two importers (review round 1).cmd/relay/admin_ops.goandcmd/relay/admin_read_ops.godispatch admin doors across many goals, so they map toevery-test(review round 1).- M4 lists the union of the
relaytestbuild and the untagged release build, so release-only files are checked too (review round 1). - With no
.gitat the root the map rules are skipped with aninfofinding, never silently.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity
barelyworkingcode commentedon Oct 10, 2026
Approval: the owner approved epic #337 and all its batches on 2026-10-10. This child is batch 2 of that list and inherits the approval (coordinator).
barelyworkingcode commentedon Oct 10, 2026
Coordinator approval: the owner approved epic #337 and all its batches on 2026-10-10 (clause 2 changes included); this child is one of the epic's listed batches and inherits that approval.