// Polyglot TypeScript fixture for the entropy-scanner B5 regression. // // Pre-B5 behaviour: rule 11 (GLSL_KEYWORDS line-proximity) suppressed any // high-entropy string that happened to share a line with shader keywords. // In a `.ts` file with an embedded fragment-shader template literal, a real // credential on the closing brace line would be silently dismissed. // // Post-B5 behaviour: classifyFileContext returns 'code-dominant' for `.ts` // files (unless the file is overwhelmingly shader/markup), which disables // rules 11-13. The credential below is therefore detected. // // The placeholder __ENTROPY_PAYLOAD_PLACEHOLDER__ is replaced at test time // with a randomly generated high-entropy string. The static fixture stays // out of the pre-edit-secrets hook because no real high-entropy literal is // committed to disk. const fragmentShader = ` precision highp float; uniform vec3 u_resolution; uniform float u_time; varying vec2 v_uv; void main() { vec3 color = vec3(v_uv, sin(u_time)); gl_FragColor = vec4(color, 1.0); } `; // The next line ends a uniform vec3 declaration AND carries the placeholder // — exactly the kind of GLSL-adjacent line that rule 11 used to suppress. const placeholder = "__ENTROPY_PAYLOAD_PLACEHOLDER__"; // uniform vec3 normal; export { fragmentShader, placeholder };