lividgreen/formal
The prover side of research-kit, for a project with a Lean library: the handoff a prover session gets, composed statement-first and checked, its report verified at the tree before any document moves, the prover session as an agent, and the package's declaration manifest.
Sets a project up for the formal plugin — formal.toml over its Lean workspace, the manifest generator in the workspace, the prover session's standing instructions, the flow's declaration evidence, the formal-check hook — and checks an existing setup. Use as /formal:formal-init, or when asked to set up the prover side, the formal plugin or the handoff and landing of Lean work in a project. Probes the workspace, the project and the machine with formal probe, proposes what is missing and installs it only on the person's word, writes what is absent and nothing that exists, and reports. Needs the research plugin's setup first.
Compose a prover-session handoff prompt for the formal target(s) named — statement-first from the document's text, with the declarations quoted, a refute-first line, the bundle's shape and the witnesses commissioned — check it with formal handoffcheck, and dispatch it to the prover agent or emit it for the owner's own prover session. Use whenever work is handed to the prover, since Lean (or another prover's) work always ships as a checked prompt.
Land a prover session's handback — verify the report at the tree (the manifest diff with formal handback, a cold read-back of every landed statement from a packet formal readback builds, the binders tiered, the guards), sweep the drift the landing caused, write the document's rows and the registration from the LANDED proof, close the records and commit with named paths. Use whenever a prover session reports back, whether the agent or the owner's own session.