Fix leading-space/bare-POS fragment in ambiguous dictionary suggestions - #28
Merged
Merged
Conversation
An ambiguous dictionary candidate sense with no alternatives at all (a pure role restriction disallowed with no suggested replacement word) previously left a stray fragment like ' (adjective)' in the combined Suggestion string. Such candidates are now excluded from the suggestion; their role restriction is still surfaced via the message's 'possible corrections' text. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The regression test must verify that the role restriction remains in the diagnostic message.
Review effort: Lite
Findings: 1
What changed in this PR
Fixes ambiguous dictionary suggestions by omitting senses without alternatives while preserving diagnostic role restrictions.
Changes:
- Filters empty-alternative senses from suggestions.
- Adds regression coverage.
- Updates design, verification, and requirement documentation.
| File | Summary |
|---|---|
test/DemaConsulting.Ste100Mark.Tests/Linting/DictionaryCheckerTests.cs |
Adds regression coverage; should also assert the adjective clause remains in the diagnostic message. |
src/DemaConsulting.Ste100Mark/Linting/DictionaryChecker.cs |
Excludes candidates without alternatives from suggestions. |
docs/verification/ste100-mark/linting.md |
Documents verification coverage. |
docs/reqstream/ste100-mark/linting.yaml |
Links the test to the requirement. |
docs/design/ste100-mark/linting/dictionary-checker.md |
Documents suggestion behavior. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…idate
Address review feedback: the regression test now also asserts that the
adjective candidate's role-restriction clause ('as a adjective') remains
present in the diagnostic message, alongside the noun candidate's
alternative, confirming the fix only trims the empty fragment from the
Suggestion field and does not drop the role-restriction information itself.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Malcolmnixon
deleted the
fix/ambiguous-suggestion-empty-alternatives
branch
September 29, 2026 21:36
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.

Pull Request
Description
Fixes a formatting defect in ambiguous
STE100-DICTdictionary findings: when a candidatesense had no alternatives at all (a pure role restriction, disallowed with no suggested
replacement word), it was still included in the combined
Suggestionstring, producing astray leading-space/bare-part-of-speech fragment such as
" (adjective)"with no term beforeit. This is reported in the integrator write-up as a data-hygiene defect in dictionary
suggestion formatting.
Such candidates are now excluded from the
Suggestionstring; their role restriction is stillsurfaced via the diagnostic message's "possible corrections" text (unaffected).
Type of Change
Related Issues
Closes #
Pre-Submission Checklist
Build and Test
pwsh ./build.ps1(1347/1347 passed)Code Quality
Quality Checks
pwsh ./lint.ps1(clean)Testing
confirmed failing before the fix and passing after)
Documentation
Ste100Mark-Linting-DictionaryPosrequirement's traceability listAdditional Notes
No user-visible schema or behavior change beyond the corrected suggestion string content;
existing tests for other ambiguous/confident dictionary cases pass unchanged.