/** * Shared shape check for `/etc/bare-os/pear.multisig.json` (seeder hint + guest kernel.ext gate). * No cryptography — validates `{ signers: string[], quorum: number }` only. * @param {unknown} parsed * @returns {boolean} */ export function pearMultisigShapeOk(parsed) { if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) return false const o = /** @type {{ signers?: unknown; quorum?: unknown }} */ (parsed) const signers = o.signers const quorum = o.quorum if (!Array.isArray(signers) || typeof quorum !== 'number') return false if (quorum < 1 || quorum > signers.length) return false return true }