gate: split into scoped targets that fail closed when the diff exceeds their scope #769

Open
opened 2026-10-14 20:14:22 +00:00 by hexajon · 0 comments
Owner

What to build

  • The gate runs as scoped targets - a doc target, a code target, a lint target
    • each running only the checks for its file classes.
  • Each target states the file classes it covers, checks the diff stays inside
    them, and fails closed when the diff spills out, naming the target to run
    instead.
  • This replaces the hardcoded .md-only shortcut.
  • The full run, and the forge/CI stage, still cover the whole diff. The scoped
    targets are for fast iteration while working.

Acceptance

  • The doc target on a diff that touches a .go file fails, names the class that
    spilled, and names the target to run.
  • The doc target on a doc-only diff passes and runs only the doc checks.
  • The .md-only hardcoded path is gone.
  • A full gate run covers every class regardless of the target.

Part of #767.

## What to build - The gate runs as scoped targets - a doc target, a code target, a lint target - each running only the checks for its file classes. - Each target states the file classes it covers, checks the diff stays inside them, and fails closed when the diff spills out, naming the target to run instead. - This replaces the hardcoded `.md`-only shortcut. - The full run, and the forge/CI stage, still cover the whole diff. The scoped targets are for fast iteration while working. ## Acceptance - The doc target on a diff that touches a `.go` file fails, names the class that spilled, and names the target to run. - The doc target on a doc-only diff passes and runs only the doc checks. - The `.md`-only hardcoded path is gone. - A full gate run covers every class regardless of the target. Part of #767.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
sixfold-space/madtea#769
No description provided.