epic: v0.20.0 - breaking: clearer ADR tooling and the write guard on every surface #675

Closed
opened 2026-09-29 19:31:31 +00:00 by hexajon · 1 comment
Owner

v0.20.0 carries the breaking changes to the ADR tooling - clearer output,
multi-repo records, and the removal of the legacy layout - and lands the one
write guard on every surface. A v0.19.0 user takes these together. A breaking
change bumps the minor version in 0.x (ADR 0028).

Breaking changes are fine across more than one release, as long as each release
stands on its own. So the second-contributor sign-off work and the fake-to-real
test migration move to their own later breaking releases.

There is no release until every child below is closed.

Children:

  • #492 adr check says what is wrong and how to fix it, in plain words, with no
    rule codes.
  • #508 adr rebuild regenerates the index.
  • #530 cross-repo record links, and the flag rename to --skip-forge-checks.
  • #632 a link to an issue on another forge is read on that forge, or fails.
  • #639 remove the legacy docs/adr/ layout.
  • #658 adr check verifies every file reference in a record.
  • #670 one guard enforces the recorded limits on every surface (ADR 0046).
  • #740 every tool result carries the protocol-required resultType.

Moved to their own later breaking releases:

  • #638 adding dir= to the MCP tools that act on a local repo is an ADR 0027
    credential-boundary ruling per tool, not a mechanical change
    (status/needs-decision on the issue).
  • #673 a decided record needs a second contributor's sign-off (ADR 0047,
    accepted; its enforcement ships in a later release).
  • #674 the forge tests move from fake servers to throwaway real ones (ADR 0052).
    Internal, no user-facing change; the harness (#677) already exists, so a new
    forge feature in this release uses it.

Every forge test in this release follows ADR 0017.

Done when every child above is closed. Then scripts/release.sh cuts v0.20.0, and
the release notes list each break and what a user does about it.

v0.20.0 carries the breaking changes to the ADR tooling - clearer output, multi-repo records, and the removal of the legacy layout - and lands the one write guard on every surface. A v0.19.0 user takes these together. A breaking change bumps the minor version in 0.x (ADR 0028). Breaking changes are fine across more than one release, as long as each release stands on its own. So the second-contributor sign-off work and the fake-to-real test migration move to their own later breaking releases. There is no release until every child below is closed. Children: - #492 adr check says what is wrong and how to fix it, in plain words, with no rule codes. - #508 adr rebuild regenerates the index. - #530 cross-repo record links, and the flag rename to --skip-forge-checks. - #632 a link to an issue on another forge is read on that forge, or fails. - #639 remove the legacy docs/adr/ layout. - #658 adr check verifies every file reference in a record. - #670 one guard enforces the recorded limits on every surface (ADR 0046). - #740 every tool result carries the protocol-required resultType. Moved to their own later breaking releases: - #638 adding dir= to the MCP tools that act on a local repo is an ADR 0027 credential-boundary ruling per tool, not a mechanical change (status/needs-decision on the issue). - #673 a decided record needs a second contributor's sign-off (ADR 0047, accepted; its enforcement ships in a later release). - #674 the forge tests move from fake servers to throwaway real ones (ADR 0052). Internal, no user-facing change; the harness (#677) already exists, so a new forge feature in this release uses it. Every forge test in this release follows ADR 0017. Done when every child above is closed. Then scripts/release.sh cuts v0.20.0, and the release notes list each break and what a user does about it. <!-- madtea:section:deps-children --> - [ ] #740 <!-- /madtea:section:deps-children -->
hexajon changed title from epic: v0.20.0, the one release that breaks the ADR tooling to epic: v0.20.0 - breaking: clearer ADR tooling and the write guard on every surface 2026-10-14 21:21:55 +00:00
Author
Owner

Shipped in v0.20.0: https://git.cheshirecube.cloud/sixfold-space/madtea/releases/tag/v0.20.0

This release carries the breaking changes to the ADR tooling (clearer output, cross-repo record links, the file-reference check, and the removal of the legacy layout) and the one write guard on every surface. The acceptance ran green on both forges at both pinned versions on main.

Two items moved to a later release: the live refresh of the vendored API specs (#538), and the release-notes breaking-change tooling (#719). The write guard ships against the current vendored specs, so a passthrough write to an endpoint that no vendored spec declares is refused until that refresh lands.

Shipped in v0.20.0: https://git.cheshirecube.cloud/sixfold-space/madtea/releases/tag/v0.20.0 This release carries the breaking changes to the ADR tooling (clearer output, cross-repo record links, the file-reference check, and the removal of the legacy layout) and the one write guard on every surface. The acceptance ran green on both forges at both pinned versions on main. Two items moved to a later release: the live refresh of the vendored API specs (#538), and the release-notes breaking-change tooling (#719). The write guard ships against the current vendored specs, so a passthrough write to an endpoint that no vendored spec declares is refused until that refresh lands.
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#675
No description provided.