You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Widens test_no_issue_refs_in_diagnostics_strings from palinode/diagnostics/ to palinode/, and clears the eight bare refs that widening exposes.
The guard was scoped to diagnostics because remediation text is printed straight at the user. That is the loudest case but not the only one. The three kinds of string it was missing:
two import-time assertion messages, cli/_api.py:22 and mcp.py:385, both (#377)
a CLI divergence warning, mcp_config.py:584, #189
five in the /wrap command body in cli/init.py, which palinode init renders into the user's own repo
Refs are deleted rather than swapped for a URL. Each one sat at the end of a sentence that already says what it needs to, so the number was the only part a public reader could not follow.
mcp_config.py:584 is the exception. "the silent-failure pattern documented in #189" loses its referent if the number just goes, so it now points at docs/MCP-CONFIG-HOMES.md, which is where that pattern is written up.
tests/ stays out of scope. Test strings are fixtures and assertion prose for contributors, and the pinned cases at the bottom of the guard file quote bare tags deliberately.
Checked the guard actually bites: dropped a bare #1234 into the mcp_config.py warning string and the widened test failed on it, naming the file and line. The old diagnostics-only scope never walked that file at all. Removed it again.
Full suite: 3050 passed, 1 failed. The failure is test_op_parse.py::test_parse_malformed_json_recovered_and_filtered, which fails the same way on main with this branch stashed.
Merged — thank you, and thank you for the docstring.
Renaming the guard was the call I asked for, but writing down why tests/ stays out is the part that will still be doing work in a year. The next person to widen this will read that paragraph instead of discovering the fixture at the bottom of the file the hard way.
Two other things. Repointing mcp_config.py at docs/MCP-CONFIG-HOMES.md rather than deleting the reference is right — that sentence is the one that genuinely loses its meaning without a target, and the doc ships. And you cleared the reference in examples/hooks/palinode-session-end.sh, which neither the widened string guard nor the comment guard can see: it is outside palinode/ and it is not a .py. Fixing something the guard you just wrote cannot enforce is the harder habit.
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
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.
Closes #211.
Widens
test_no_issue_refs_in_diagnostics_stringsfrompalinode/diagnostics/topalinode/, and clears the eight bare refs that widening exposes.The guard was scoped to diagnostics because remediation text is printed straight at the user. That is the loudest case but not the only one. The three kinds of string it was missing:
cli/_api.py:22andmcp.py:385, both(#377)mcp_config.py:584,#189/wrapcommand body incli/init.py, whichpalinode initrenders into the user's own repoRefs are deleted rather than swapped for a URL. Each one sat at the end of a sentence that already says what it needs to, so the number was the only part a public reader could not follow.
mcp_config.py:584is the exception. "the silent-failure pattern documented in #189" loses its referent if the number just goes, so it now points atdocs/MCP-CONFIG-HOMES.md, which is where that pattern is written up.tests/stays out of scope. Test strings are fixtures and assertion prose for contributors, and the pinned cases at the bottom of the guard file quote bare tags deliberately.Checked the guard actually bites: dropped a bare
#1234into themcp_config.pywarning string and the widened test failed on it, naming the file and line. The old diagnostics-only scope never walked that file at all. Removed it again.Full suite: 3050 passed, 1 failed. The failure is
test_op_parse.py::test_parse_malformed_json_recovered_and_filtered, which fails the same way onmainwith this branch stashed.