{
  "id": "gate-typescript-public-surface",
  "type": "executable",
  "invariant": "Exported MCP tools, resources, prompts, and public status events stay registered, described, schema-backed where required, and covered by the audit gate",
  "command": "node --input-type=module -e \"import('./dist/public-surface.js').then(async (m) => { const result = await m.auditPublicSurface({ write_artifact: false }); if (!result.ok) { console.error(result.failures.join('\\n')); process.exit(1); } console.log(JSON.stringify(result.summary)); })\"",
  "evidence_requirement": "PUBLIC_SURFACE_REPORT.md + passing public-surface audit"
}
