Skip to content

ToppleCat 0.2.2

Latest

Choose a tag to compare

@samzhu samzhu released this 14 Aug 09:25

ToppleCat 0.2.2 lets Java/JUnit teams place each checked acceptance projection
at one explicit business-Spec marker, so changing a Markdown heading or adding
an ordinary AC reference can no longer silently change selected scope.

Place executable acceptance material exactly where it belongs

Each selected AC now uses one exact standalone marker, such as
<!-- topplecat:acceptance:AC-CHECKOUT-001 -->, as both its machine identity
and its Spec Review insertion point. Review inserts one complete checked
projection there, in marker order, including every bound scenario, typed row,
and ordered Given/When/Then/And/But Step. Different markers may be consecutive
or appear anywhere at the supported document level.

Reject ambiguous selected-Spec input before Review

Headings, ordinary AC references, and marker proximity are authored prose, not
declarations. Check rejects duplicate IDs across the supplied selected Markdown
documents and reports every conflicting location. It also gives repairable
diagnostics for generic legacy markers, malformed directives, and container or
inline lookalikes; none falls back to heading-based pairing. Unselected files
and .feature files remain outside selected scope.

Upgrade

This is a breaking selected-Spec authoring change from 0.2.1. Replace every
generic <!-- topplecat:acceptance --> marker with an exact ID-bearing marker,
and pass the same repository-relative --spec paths to Check, Review, and
scoped Verify. No change is required for whole-contract Check, Seal, or Verify.
toppleCatSeal continues to seal the complete executable contract, not a
selected Spec scope.

Requirements

ToppleCat still runs on JDK 21 or 25; consumer source may target Java 17, 21,
or 25 when Gradle runs on a supported execution JDK. Maven Central publication
remains a separate maintainer action.

Full changelog

Compare ToppleCat 0.2.1 to 0.2.2

=============
ToppleCat 0.2.2 讓 Java/JUnit 團隊可以在業務 Spec 的一個明確 marker 位置放入已檢查的
驗收投影,因此調整 Markdown 標題或新增一般 AC 引用時,不會再悄悄改變 selected scope。

在正確位置放入可執行驗收內容

每個 selected AC 現在使用一個精確、獨立一行的 marker,例如
<!-- topplecat:acceptance:AC-CHECKOUT-001 -->,同時作為 machine identity 與 Spec Review
插入點。Review 會依 marker order 在該處插入一份完整、已檢查的 projection,包含所有綁定的
scenario、typed row,以及有序的 Given/When/Then/And/But Step。不同 marker 可以連續出現,
也可以放在支援的文件層級任意位置。

在 Review 前拒絕含糊的 selected-Spec input

標題、一般 AC 引用與 marker 鄰近性都是作者文字,不是 declaration。Check 會拒絕 supplied
selected Markdown documents 中重複的 ID,並列出所有衝突位置;也會為 generic legacy marker、
格式錯誤 directive、container 或 inline lookalike 提供可修復診斷,絕不 fallback 到 heading-based
pairing。unselected files 與 .feature files 仍不在 selected scope 內。

升級

這是從 0.2.1 起的 breaking selected-Spec authoring change。請把每個 generic
<!-- topplecat:acceptance --> marker 換成精確的帶 ID marker,並將相同的
repository-relative --spec paths 傳給 Check、Review 與 scoped Verify。whole-contract Check、
Seal 與 Verify 不需要改動。
toppleCatSeal 仍封存完整可執行契約,而不是 selected Spec scope。

要求

ToppleCat 仍在 JDK 21 或 25 執行;使用端 source 可以 target Java 17、21 或 25,但 Gradle
執行環境必須是支援的 JDK。Maven Central 發布仍是維護者另外執行的工作。

完整變更

比較 ToppleCat 0.2.1 與 0.2.2