What problem does it solve? It provides a safe, deterministic default for the final delivery step of an autonomous software pipeline: merging a pull request only after the integrity floor (AC-verified, CI-green, review pass) has been re-verified, and reporting the result in a machine-parseable form instead of an ambiguous free-text summary. ## Core Features & Use Cases - Interlocked merging: Merges exclusively through faff merge-gate (never a raw gh pr merge), which re-verifies the integrity floor and observes CI on the PR head sha before merging. - Precondition probing: Runs read-only checks for push access, token workflow scope, merge-method availability, and Actions policy, emitting a specific not-ready:precondition:<kind> deferral with a remedy instead of a silent failure. - Contract emission: Appends a faff-contract:delivery-outcome JSON block that the consuming workflow parses deterministically, with an honesty rule that coerces uncorroborated success claims to failure. - Use Case: In an unattended L3 delivery run, after a change passes review and CI, this producer merges the PR with squash and delete-branch, then declares shipped with corroborated: true so the orchestrator can route the outcome without re-reading raw gh output. ## Quick Start Configure the ship slot in your faff slots config to use faffter-noon-ship and let faff-graft invoke it automatically after the merge-confidence gate passes.