const opt = (rel) => { try { return fs.readFileSync(path.join(repo, rel), 'utf8'); } catch (e) { return null; } }; const client = opt('docs/modules/agent-bridge-client.js'); const propose = opt('docs/modules/propose.js'); const workshop = opt('docs/modules/workshop.js'); const app = opt('docs/app.html'); const rootIndex = opt('index.html'); if (client) { assert.ok(/X-FL-Bridge-Token/.test(client), 'client sends token header'); assert.ok(!/innerHTML/.test(client), 'client renders with textContent only'); assert.ok(!/\bconfirm\s*\(/.test(client), 'client never asks confirm()'); assert.ok(/renderPairedList/.test(client) && /\/pair\/revoke/.test(client), 'client has Paired minds with Revoke'); execFileSync(process.execPath, ['--check', path.join(repo, 'docs/modules/agent-bridge-client.js')]); } if (propose) { assert.strictEqual((propose.match(/commitViaBridge\s*\(/g) || []).length, 3, 'CRITICAL LOCK 1A count unchanged'); assert.strictEqual((propose.match(/\/code\/git\/commit/g) || []).length, 1, 'CRITICAL LOCK 1B count unchanged'); assert.ok(/FLAgentBridge/.test(propose), 'propose routes bridge calls through FLAgentBridge when present'); } if (workshop) { assert.ok(/http:\/\/localhost:3141/.test(workshop) && /runCodeTask/.test(workshop), 'v5.71.8 workshop lock still true'); assert.ok(/FLAgentBridge/.test(workshop), 'workshop routes bridge calls through FLAgentBridge when present'); assert.ok(/renderPairedList/.test(workshop), 'workshop shows Paired minds'); } if (app) { assert.ok(/