import type { GuardContext, GuardRunResult } from '../types.js'; /** * Behavioural probe of the SOP id guard and the lint-before-register ordering. * * The previous version listed five SOP files and passed if any of them * mentioned "sop", "gate" or "register" — every file in the list is named * `sop-*.ts`, so the check could not fail. * * Here the real `initSop` / `registerSop` path runs against a tmp project: * path-traversal and reserved ids must be refused, and a manifest that fails * lint must stop the registration BEFORE `registry.json` is written. The * positive control (a clean manifest DOES register) is what makes the negative * assertion mean something. */ export declare function runJ09Contract(ctx: GuardContext): Promise;