| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
…ero-argument tool #1181 gave list_projects pagination parameters, retiring the last empty-properties schema — and the two #1359 regression tests leaned on list_projects as their live zero-argument example, so main went red the moment the merge train composed (the PR was green on its July base, which predated these tests). The gate's schema→decision core is split behind a CBM_CLI_ENABLE_TEST_API seam, so the zero-argument branch stays pinned directly (empty properties, absent properties, populated properties) regardless of what the registry ships; list_projects now asserts its NEW truth (piped args accepted, TTY still refused); and the schema↔gate parity sweep keeps running over every tool without the impossible >=1 zero-argument floor. Production behavior is unchanged — this is the tests catching up with an intended schema change, plus a seam so they never again depend on a shipped example. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
PowerShell 5.1 encodes stdout for a native-process pipe in the console OEM codepage, so raw search content containing characters the inherited CP cannot carry (Cyrillic under CP437/850, ...) reached collect_grep_matches as '?' — and whether it degraded depended entirely on which console the server happened to inherit. That surfaced as the intermittent test_mcp raw-Русский mojibake on the windows CI leg and means real Windows users in a default console get '?' for all non-ASCII search_code raw content. Every generated command now pins [Console]::OutputEncoding to UTF-8, so the pipe is codepage-independent by construction. The read side needs no pin: Select-String decodes BOM-less UTF-8 via .NET StreamReader defaults. A Windows-side builder test asserts all five command variants carry the prelude. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
Trivial insertion-point collision in tests/test_mcp.c: both this branch and main (DeusData#1704's UTF-8 pin) add a Windows search_code test at the same spot. Both tests kept.
| Back | FazBrowse Home | New Git URL |
Two targeted fixes, one goal: every CI leg on main is currently red by one of these, and they deadlock as separate PRs (each is red on the leg the other one fixes, and ci-ok is a required check).
1. stdin-gate tests vs #1181 composition (mac/diag/lsan + cli shards) — #1181 gave list_projects pagination parameters, retiring the last empty-properties schema; the two #1359 regression tests leaned on it as their live zero-argument example. The gate's schema→decision core is now split behind a CBM_CLI_ENABLE_TEST_API seam so the zero-argument branch stays pinned regardless of what the registry ships; list_projects asserts its new truth (piped args accepted, TTY refused). Production unchanged.
2. Windows search_code mojibake (windows 2/2, now persistent) — PowerShell 5.1 encodes stdout for a native-process pipe in the console OEM codepage, so non-ASCII raw search content degrades to '?' depending on the inherited console (test_mcp.c:4427 raw-Русский; reproduced twice in a row on this PR's leg). Every generated command now pins [Console]::OutputEncoding to UTF-8; a Windows-side test asserts all five builder variants carry the prelude. Originally PR #1707, folded in here to break the deadlock.
🤖 Generated with Claude Code
https://claude.ai/code/session_018RiRAw9RQhvCoshqe7eZHV