const assert = require('node:assert/strict'); const fs = require('node:fs'); const path = require('node:path'); const root = path.resolve(__dirname, '..', '..'); const route = fs.readFileSync(path.join(root, 'website/app/api/version/route.ts'), 'utf8'); const config = fs.readFileSync(path.join(root, 'website/next.config.ts'), 'utf8'); const deploy = fs.readFileSync(path.join(root, 'scripts/deploy-website.ps1'), 'utf8'); assert.match(config, /MOTORSIGNAL_GIT_SHA/); assert.match(config, /MOTORSIGNAL_DEPLOY_REVISION/); assert.match(route, /service: 'motorsignal-website'/); assert.match(route, /revision/); assert.match(route, /Cache-Control/); assert.match(route, /no-store/); assert.match(deploy, /git -C \$RepositoryRoot rev-parse HEAD/); assert.match(deploy, /MOTORSIGNAL_GIT_SHA/); assert.match(deploy, /https:\/\/motorsignal\.app\/api\/version/); assert.match(deploy, /Deployment revision mismatch/); assert.match(deploy, /status --porcelain -- website/); assert.match(deploy, /working tree contains uncommitted changes/); console.log('PASS: website deployment revision contract verified.');