decision: should adr check's linked-issue rule run for every MADR repo, or only where a repo turns it on? #494

Closed
opened 2026-09-15 21:07:16 +00:00 by hexajon · 1 comment
Owner

Context

In MADR mode, adr check reads the forge:

  • A proposed record needs an open linked issue in its own repo, in each repo listed in impacts, and in madtea.adr.topLevelRepo when that is set.
  • A decided record's linked issues must be closed, and each needs a comment that names the record file.

This is my own workflow for this repo: decisions land in records, and the tracker and the record agree. The pattern fits madtea's issue-driven flow (issue develop, then finish). MADR 4.0.0 itself does not require issues.

Everywhere else, madtea links issues only when you ask: a branch that names an issue gets it closed, and a branch that names none finishes without complaint. This rule instead fails a proposed record with no issue. It also needs forge auth. The next release ships it to every MADR user, on by default.

Options

  1. On by default. --skip-remote-issues turns it off per run. This is the current code.
  2. Off by default; a repo turns it on, for example with a git config key next to madtea.adr.topLevelRepo. This repo turns it on. Other users get the MADR file checks only.
  3. Remove it from the product. Keep it as this repo's own check in scripts/.

Open question

Which option ships. This affects the next release, which also ships the MADR support (#488).

## Context In MADR mode, `adr check` reads the forge: - A proposed record needs an open linked issue in its own repo, in each repo listed in `impacts`, and in `madtea.adr.topLevelRepo` when that is set. - A decided record's linked issues must be closed, and each needs a comment that names the record file. This is my own workflow for this repo: decisions land in records, and the tracker and the record agree. The pattern fits madtea's issue-driven flow (`issue develop`, then `finish`). MADR 4.0.0 itself does not require issues. Everywhere else, madtea links issues only when you ask: a branch that names an issue gets it closed, and a branch that names none finishes without complaint. This rule instead fails a proposed record with no issue. It also needs forge auth. The next release ships it to every MADR user, on by default. ## Options 1. **On by default.** `--skip-remote-issues` turns it off per run. This is the current code. 2. **Off by default; a repo turns it on**, for example with a git config key next to `madtea.adr.topLevelRepo`. This repo turns it on. Other users get the MADR file checks only. 3. **Remove it from the product.** Keep it as this repo's own check in `scripts/`. ## Open question Which option ships. This affects the next release, which also ships the MADR support (#488).
Author
Owner

Decision: option 1, on by default. It ships in the next release as the code is today: in MADR mode, adr check reads each record's linked issues on the forge, and --skip-remote-issues (MCP skip_remote_issues) turns that off for one run, for example in CI.

This keeps what ADR 0034 (docs/decisions/0034-adopt-madr-for-adr-tooling-and-records.md) records: the check enforces open-issue tracking for undecided records. ADR 0036 records where each part runs in this repo. No code change is needed. #495 is unblocked.

Decision: option 1, on by default. It ships in the next release as the code is today: in MADR mode, `adr check` reads each record's linked issues on the forge, and `--skip-remote-issues` (MCP `skip_remote_issues`) turns that off for one run, for example in CI. This keeps what ADR 0034 (`docs/decisions/0034-adopt-madr-for-adr-tooling-and-records.md`) records: the check enforces open-issue tracking for undecided records. ADR 0036 records where each part runs in this repo. No code change is needed. #495 is unblocked.
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#494
No description provided.