confirm_floor
Cheap, FREE second opinion to clear a FALSE floor-gate block. When a floor-class gate (auth / secret / money / migration / guard, or a repo-defined custom floor) fired on what you believe is token-shape noise, this runs ONE budget model on your gate_diff: if it agrees the change is noise it mints a receipt that releases the change's FLOOR hunks. If it finds the change material — or is uncertain, errors, or the change touches the gate's own files — it releases NOTHING (run audit_coding instead). It covers FLOOR hunks only: if the gate's 'Still uncovered' line also lists NON-floor hunks, the gate keeps blocking on those — release them with record_gate_skip (a judgment reason) or an audit_coding PASS, which covers both kinds in one call. Forward BOTH the gate_context_id AND the target_hunk_hashes line the block printed (write and commit gates both print them) — the hashes are the deterministic binding tier, so the release binds to the gate's own recorded hunks even when your gate_diff is cosmetically drifted (drift is flagged, not dropped). The id alone does NOT bind unless your gate_diff genuinely overlaps the fire's hunks, so never omit the hashes. Free (no credits).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| diff | No | Alias for gate_diff (same spelling accepted across audit_coding / synthesize_coding / confirm_floor). If both are supplied, gate_diff wins. | |
| gate_diff | No | The change being gated (your staged diff, or the Edit's content). Judged by the model then discarded — never stored server-side. `diff` is accepted as an alias. | |
| gate_repo | Yes | The gate_repo fingerprint the block printed. | |
| gate_context_id | No | The `gate_context_id = "gc_…"` the block printed — copy verbatim. Identifies the fire; forward target_hunk_hashes ALONGSIDE it — the id alone binds only when your gate_diff genuinely overlaps the fire's hunks. | |
| gate_session_id | No | The gate_session_id from the block, if it provided one. | |
| target_hunk_hashes | No | The `target_hunk_hashes = [...]` line the WRITE gate printed — copy verbatim. Deterministic binding: releases even if the write gate's diff shape differs from your gate_diff. |