Repository navigation
Conversation
…ontract Signed-off-by: Virtue039 <virtue039@qq.com>
This was referenced Oct 11, 2026
Contributor
|
Thank you for writing the contract down before building it; negative cases are the gap #1103 left open, and the shape reads right. On your question: please do not extend the human-bound exception to negative cases. When a person bound the signature and another person says this statement should bind to nothing, the two human decisions disagree; the case should fail and say so (a conflict with the human binding), not pass. Hiding that is exactly what a negative case is meant to catch. One request: keep the ADR to the decisions (the request shape, nullable target, the comparison rules, this exception). The acceptance checklist and implementation detail can go into the implementation PR's description. Thanks again. |
Signed-off-by: Virtue039 <virtue039@qq.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A regression case currently requires an expected property, so a person cannot record that an open statement should bind to nothing. This documentation-only change adds that contract to decision 0061 before any migration, API or UI implementation.
Existing positive requests remain compatible. An explicit
expected_binding: "none"carries no property or direction; both stored target fields are null, with same-base isolation and idempotent confirmation preserved. Only an explicit none decision passes a negative case: bound and undecided fail, while no decision remains unchecked.The human-bound exception applies only to positive cases. A negative case that conflicts with a person's binding must fail and explicitly report the conflict and actual binding; the case does not overwrite the person's decision. This addresses the review of October 14. The proposed section is reduced from 78 to 41 lines and keeps the four contract decisions; index, UI and acceptance details are deferred to the implementation PR.
Validation: inspected the request examples and comparison rules for consistency;
git diff --checkpasses at f976bda (macOS). One ADR changes, with no runtime or migration changes, so runtime/model suites were not rerun. The overall ADR remains In progress, this section remains proposed, and implementation waits for contract merge.Refs #1103, #1184.