jnames_colon() {
  node -e 'const fs = require("fs"); const [jp, ...need] = process.argv.slice(1); const j = JSON.parse(fs.readFileSync(jp, "utf8")); const ok = []; for (const t of j.testResults) for (const a of t.assertionResults) if (a.status === "passed") ok.push(a.fullName); const miss = need.filter((n) => !ok.some((p) => p.includes(n + ": "))); if (miss.length) { console.error("통과 시험 이름 없음 (구분자 「: 」 포함): " + miss.join(" | ")); process.exit(1); }' "$@"
}
