RT-170: gate option recommended flag and guarded label capitalization - #281
Merged
Merged
Conversation
…d lifts recommended flag into label suffix
…ation gates-store, gate:open, and the reconciler's attention gate all normalize options through the same rt-client seam, so their pinned exact-label assertions shift with normalizeGateOptions capitalizing word-like labels.
|
Warning Review limit reachedNext included review available in 13 minutes. View limit detailsLimit details: You’ve used the included review currently available. Your 82 included PR review attempts over the past 7 days set your current allowance at 1 review per hour. Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. Review configuration: ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (8)
Comment |
…ust the suffix; fix cross-repo doc path Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…hema Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
m4ttheweric
added a commit
that referenced
this pull request
Sep 17, 2026
…#281) * RT-170 A1: add optional recommended flag to GateOption object form * RT-170 A2/A3/A4: normalizeGateOptions capitalizes word-like labels and lifts recommended flag into label suffix * RT-170: update pinned gate-option tests for word-like label capitalization gates-store, gate:open, and the reconciler's attention gate all normalize options through the same rt-client seam, so their pinned exact-label assertions shift with normalizeGateOptions capitalizing word-like labels. * gate-options: an empty label with recommended:true stays empty, not just the suffix; fix cross-repo doc path Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> * mcp tools: expose recommended in gate_ask/herd_ask's shared option schema Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Fable 5 <noreply@anthropic.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.
Summary
Adds an optional
recommendedflag to theGateOptionobject form and guarded word-like label capitalization innormalizeGateOptions.GateOptionobject form gains an optionalrecommendedflag (RT-170 A1)normalizeGateOptionscapitalizes word-like labels and lifts therecommendedflag into a label suffix (RT-170 A2/A3/A4); capitalization applies atGatesStore.openso every persisted row benefitsgate_ask/herd_ask's shared option schema now documentsrecommended(the server doesn't validate schemas so the field already reached the daemon at runtime; this is a schema-truth fix, not new behavior), with a test proving arecommended: trueoption round-trips through the real daemon-side normalizer into the(Recommended)suffixThe mattstack-skills half of this ticket (branch rt-170 there, receive-review recommended flag) is not part of this PR; it batches with the wave-3 skill lanes' bump+sync.
Review
CodeRabbit was rate-limited (org cap: 1 review/hour) with zero comments posted; the fallback model (fable, back to normal capacity) ran the substitute adversarial review. No blocking findings;
valueis never transformed (onlylabel), capitalization is applied once at the single store seam, the three pinned-test edits are pure label deltas, and normalization is idempotent (46-input probe). Fixed: an empty label withrecommended: truecollapsed to just" (Recommended)", hiding the option's value in a downstreamlabel || valuefallback (fixed with a test that fails without it); a doc comment citing a path in the wrong repo; and, per the shepherd's follow-up ruling, the MCP tool schemas not documentingrecommended(agents are the primary gate openers).Accepted as-is, no tickets (shepherd's call): the word-like capitalization guard is syntactic rather than semantic, so lowercase acronyms/tool names get title-cased (values untouched, cosmetic); the 200-byte label cap is checked before the 14-byte suffix is appended, so a maximal flagged label can land at 214 bytes.
🤖 Generated with Claude Code