Skip to content

Conversation

@mickenordin
Copy link
Member

@mickenordin mickenordin commented Jul 17, 2025

Clarify use of REQUIRED vs RFC 2119 keywords; unify field annotations

This PR addresses specification language consistency as described in Issue #206. The goal is to clearly distinguish between normative keywords (used for protocol behavior) and field annotations (used for JSON schema documentation)

✅ Summary of Changes

  • 📝 Terms section clarified:

    • Added an explicit note explaining that "REQUIRED", "RECOMMENDED", and "OPTIONAL" are semantically equivalent to "MUST", "SHOULD", and "MAY" but used for readability in JSON object fields.
  • 🔄 Field annotation harmonization:

    • Updated "SHOULD be one of" to "MUST be one of" in enumerated values where the value space is normative.

📌 Rationale

This change improves:

  • Consistency in language use across the specification.
  • Clarity for implementers when interpreting the JSON field requirements.

Closes: #206

This commit aligns the document with RFC 2119 terminology by distinguishing between normative keywords ("MUST", "SHOULD", etc.) and descriptive field annotations ("REQUIRED", "OPTIONAL"). Specifically:

- Introduces an explanatory note in the "Terms" section about the semantic equivalence of "REQUIRED", "RECOMMENDED", and "OPTIONAL" to "MUST", "SHOULD", and "MAY", respectively.
- Updates inconsistent "SHOULD be one of" to "MUST be one of" for enumerated value fields where appropriate.

Closes: #206
Copy link
Member

@glpatcern glpatcern left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, and indeed closes the only real issues found in #206 (the rest being hallucinations)

@glpatcern glpatcern merged commit 46c8a57 into develop Jul 17, 2025
1 check passed
@glpatcern glpatcern deleted the kano-cleanup branch August 7, 2025 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Specification consistency review

4 participants