Repository navigation
Reject empty agent slugs before cleaning conversion output - #967
rudycelekli wants to merge 2 commits into
Conversation
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
Signed-off-by: Rudy Celekli <47457359+rudycelekli@users.noreply.github.com>
|
I tested this PR on macOS 27 with bash 5. Setup: For the plant, I copied
On The new block in Not tested: the converter with the PR for tools other than Command I used per case: sed 's/^name:.*/name: 专家/' engineering/engineering-ai-data-remediation-engineer.md > engineering/zz-probe.md
scripts/lint-agents.sh engineering/zz-probe.md; echo "lint=$?"
scripts/convert.sh --tool codex --out /tmp/out; echo "convert=$?" |
…nts) Curated sync of the open upstream pull requests as of 2026-10-06: - Script and CI fixes: msitarzewski#1055, msitarzewski#1030, msitarzewski#865, msitarzewski#860, msitarzewski#967, msitarzewski#870, msitarzewski#869, msitarzewski#889, msitarzewski#1056, msitarzewski#755, msitarzewski#868, msitarzewski#771, msitarzewski#867; ported msitarzewski#523, msitarzewski#512 and the permissions part of msitarzewski#790. - Existing-agent fixes: msitarzewski#1033-msitarzewski#1052, msitarzewski#1053, msitarzewski#1054, msitarzewski#1023, msitarzewski#756-msitarzewski#759, msitarzewski#799, msitarzewski#805, msitarzewski#715, msitarzewski#752, msitarzewski#784, msitarzewski#793, msitarzewski#858, msitarzewski#812, msitarzewski#789, msitarzewski#1007. - New agents: msitarzewski#702, msitarzewski#707, msitarzewski#731, msitarzewski#732, msitarzewski#764, msitarzewski#848, msitarzewski#859, msitarzewski#862, msitarzewski#863, msitarzewski#886, msitarzewski#908, msitarzewski#982-msitarzewski#985, msitarzewski#1031, msitarzewski#1032. - Docs: msitarzewski#577, msitarzewski#743, msitarzewski#762, msitarzewski#785, msitarzewski#786, msitarzewski#815, msitarzewski#816. Fixes found while integrating: Bash 3.2 guard for the msitarzewski#755 worker argv, Windsurf re-conversion over a stale .windsurfrules, locale-independent check-divisions.sh, agency- prefix handling in the outputs eval, and the India Business Navigator's YAML and headings. Resolves upstream issues msitarzewski#229, msitarzewski#763, msitarzewski#821 and msitarzewski#1027. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NwgfpJ9tGbUh5g84u5VSgv
What does this PR do?
Implements the maintainer-approved item 2 in #917. A nonempty Unicode-only name can normalize to an empty ASCII slug. Reject it in lint and converter preflight before cleaning output; retain the Unicode display name when an explicit ASCII alias is supplied. No transliteration.
Coordination: #917 candidate list. Empty-slug scope is separately approved in the maintainer’s preceding comment.
Agent Information (if adding/modifying an agent)
Verification
Original accepts an empty slug. Fixed native fixture rejects it before touching a pre-existing sentinel; explicit “Expert 专家” and plain ASCII names convert. Existing regression now checks the sentinel and valid alias. Bash 3.2 syntax, tools/divisions, collision, folded/closing frontmatter and complete three-tool frontmatter regressions passed.
git diff --checkpassed for content; focused script regressions above passed for tooling.Limits
ASCII aliases are supplied by the author; no locale-dependent normalization or automatic transliteration is introduced.
Checklist
CI fixture correction
The first Linux run caught an obsolete Codex SKILL-path expectation in the new alias fixture. The current converter correctly emits
codex/agents/expert.toml. The fixture now checks that path and explicitly exits on either a missing artifact or a changed preservation sentinel, including on Bash 3.2. The complete frontmatter suite passed on the unchanged final script hash; an independent actual-fixture replay also confirmed healthy success and both forced-failure diagnostics. Production linter/converter code is unchanged by this follow-up. Fresh upstream checks are pending.