#!/usr/bin/env node import { execFileSync } from "node:child_process"; import fs from "node:fs"; import path from "node:path"; const allowed = new Map([ [ "guanghu-ice-heart", "https://guanghulab.com/code/bingshuo/guanghu-ice-heart.git", ], [ "hololake-system-architecture", "https://guanghulab.com/code/bingshuo/hololake-system-architecture.git", ], ]); function classify(repositoryPath) { const resolved = path.resolve(repositoryPath); const gitMarker = path.join(resolved, ".git"); if (!fs.existsSync(gitMarker)) { return { path: resolved, state: "NOT_GIT_WORKTREE" }; } let remote; try { remote = execFileSync( "git", ["remote", "get-url", "--push", "origin"], { cwd: resolved, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }, ).trim(); } catch { return { path: resolved, state: "ORIGIN_PUSH_URL_MISSING" }; } let parsed; try { parsed = new URL(remote); } catch { return { path: resolved, state: "NON_CANONICAL_REMOTE_FORMAT" }; } if (parsed.username || parsed.password) { return { path: resolved, state: "CREDENTIAL_BEARING_REMOTE_FORBIDDEN" }; } const slug = path.basename(parsed.pathname, ".git"); const expected = allowed.get(slug); if (!expected || remote !== expected) { return { path: resolved, state: remote.includes("/fifth-domain/") ? "HISTORICAL_REMOTE_NO_PUSH" : "NON_CANONICAL_REMOTE_NO_PUSH", }; } return { path: resolved, repository: slug, state: "CANONICAL_PUSH_ROUTE", remote: expected, }; } const targets = process.argv.slice(2); if (!targets.length) { process.stderr.write( "usage: node scripts/audit-code-channel-route.mjs [...]\n", ); process.exit(2); } const results = targets.map(classify); process.stdout.write(`${JSON.stringify(results, null, 2)}\n`); if (results.some((entry) => entry.state !== "CANONICAL_PUSH_ROUTE")) { process.exitCode = 1; }