Certifier: link to html agda docs from index.html (plutus-metatheory docs)
Home /
Input Output /
plutus
Jun 10, 9-10 AM (0)
Jun 10, 10-11 AM (1)
Jun 10, 11-12 PM (0)
Jun 10, 12-1 PM (0)
Jun 10, 1-2 PM (0)
Jun 10, 2-3 PM (1)
Jun 10, 3-4 PM (1)
Jun 10, 4-5 PM (0)
Jun 10, 5-6 PM (0)
Jun 10, 6-7 PM (1)
Jun 10, 7-8 PM (1)
Jun 10, 8-9 PM (1)
Jun 10, 9-10 PM (1)
Jun 10, 10-11 PM (0)
Jun 10, 11-12 AM (0)
Jun 11, 12-1 AM (0)
Jun 11, 1-2 AM (0)
Jun 11, 2-3 AM (0)
Jun 11, 3-4 AM (0)
Jun 11, 4-5 AM (1)
Jun 11, 5-6 AM (0)
Jun 11, 6-7 AM (0)
Jun 11, 7-8 AM (1)
Jun 11, 8-9 AM (5)
Jun 11, 9-10 AM (0)
Jun 11, 10-11 AM (0)
Jun 11, 11-12 PM (0)
Jun 11, 12-1 PM (0)
Jun 11, 1-2 PM (3)
Jun 11, 2-3 PM (0)
Jun 11, 3-4 PM (0)
Jun 11, 4-5 PM (0)
Jun 11, 5-6 PM (0)
Jun 11, 6-7 PM (0)
Jun 11, 7-8 PM (0)
Jun 11, 8-9 PM (0)
Jun 11, 9-10 PM (0)
Jun 11, 10-11 PM (0)
Jun 11, 11-12 AM (0)
Jun 12, 12-1 AM (0)
Jun 12, 1-2 AM (0)
Jun 12, 2-3 AM (0)
Jun 12, 3-4 AM (0)
Jun 12, 4-5 AM (0)
Jun 12, 5-6 AM (1)
Jun 12, 6-7 AM (1)
Jun 12, 7-8 AM (2)
Jun 12, 8-9 AM (0)
Jun 12, 9-10 AM (0)
Jun 12, 10-11 AM (2)
Jun 12, 11-12 PM (3)
Jun 12, 12-1 PM (3)
Jun 12, 1-2 PM (2)
Jun 12, 2-3 PM (1)
Jun 12, 3-4 PM (0)
Jun 12, 4-5 PM (0)
Jun 12, 5-6 PM (0)
Jun 12, 6-7 PM (0)
Jun 12, 7-8 PM (0)
Jun 12, 8-9 PM (0)
Jun 12, 9-10 PM (0)
Jun 12, 10-11 PM (0)
Jun 12, 11-12 AM (0)
Jun 13, 12-1 AM (0)
Jun 13, 1-2 AM (0)
Jun 13, 2-3 AM (0)
Jun 13, 3-4 AM (0)
Jun 13, 4-5 AM (0)
Jun 13, 5-6 AM (0)
Jun 13, 6-7 AM (0)
Jun 13, 7-8 AM (0)
Jun 13, 8-9 AM (0)
Jun 13, 9-10 AM (0)
Jun 13, 10-11 AM (0)
Jun 13, 11-12 PM (0)
Jun 13, 12-1 PM (0)
Jun 13, 1-2 PM (0)
Jun 13, 2-3 PM (0)
Jun 13, 3-4 PM (0)
Jun 13, 4-5 PM (0)
Jun 13, 5-6 PM (0)
Jun 13, 6-7 PM (0)
Jun 13, 7-8 PM (0)
Jun 13, 8-9 PM (0)
Jun 13, 9-10 PM (0)
Jun 13, 10-11 PM (0)
Jun 13, 11-12 AM (0)
Jun 14, 12-1 AM (0)
Jun 14, 1-2 AM (0)
Jun 14, 2-3 AM (0)
Jun 14, 3-4 AM (0)
Jun 14, 4-5 AM (0)
Jun 14, 5-6 AM (0)
Jun 14, 6-7 AM (0)
Jun 14, 7-8 AM (0)
Jun 14, 8-9 AM (0)
Jun 14, 9-10 AM (0)
Jun 14, 10-11 AM (0)
Jun 14, 11-12 PM (0)
Jun 14, 12-1 PM (0)
Jun 14, 1-2 PM (0)
Jun 14, 2-3 PM (0)
Jun 14, 3-4 PM (0)
Jun 14, 4-5 PM (0)
Jun 14, 5-6 PM (0)
Jun 14, 6-7 PM (0)
Jun 14, 7-8 PM (0)
Jun 14, 8-9 PM (0)
Jun 14, 9-10 PM (0)
Jun 14, 10-11 PM (0)
Jun 14, 11-12 AM (0)
Jun 15, 12-1 AM (0)
Jun 15, 1-2 AM (0)
Jun 15, 2-3 AM (0)
Jun 15, 3-4 AM (0)
Jun 15, 4-5 AM (0)
Jun 15, 5-6 AM (0)
Jun 15, 6-7 AM (0)
Jun 15, 7-8 AM (0)
Jun 15, 8-9 AM (0)
Jun 15, 9-10 AM (1)
Jun 15, 10-11 AM (0)
Jun 15, 11-12 PM (1)
Jun 15, 12-1 PM (0)
Jun 15, 1-2 PM (5)
Jun 15, 2-3 PM (0)
Jun 15, 3-4 PM (0)
Jun 15, 4-5 PM (0)
Jun 15, 5-6 PM (0)
Jun 15, 6-7 PM (0)
Jun 15, 7-8 PM (0)
Jun 15, 8-9 PM (0)
Jun 15, 9-10 PM (0)
Jun 15, 10-11 PM (0)
Jun 15, 11-12 AM (0)
Jun 16, 12-1 AM (0)
Jun 16, 1-2 AM (0)
Jun 16, 2-3 AM (0)
Jun 16, 3-4 AM (0)
Jun 16, 4-5 AM (0)
Jun 16, 5-6 AM (0)
Jun 16, 6-7 AM (0)
Jun 16, 7-8 AM (0)
Jun 16, 8-9 AM (0)
Jun 16, 9-10 AM (1)
Jun 16, 10-11 AM (0)
Jun 16, 11-12 PM (1)
Jun 16, 12-1 PM (1)
Jun 16, 1-2 PM (2)
Jun 16, 2-3 PM (1)
Jun 16, 3-4 PM (1)
Jun 16, 4-5 PM (2)
Jun 16, 5-6 PM (0)
Jun 16, 6-7 PM (0)
Jun 16, 7-8 PM (0)
Jun 16, 8-9 PM (0)
Jun 16, 9-10 PM (0)
Jun 16, 10-11 PM (0)
Jun 16, 11-12 AM (0)
Jun 17, 12-1 AM (0)
Jun 17, 1-2 AM (0)
Jun 17, 2-3 AM (0)
Jun 17, 3-4 AM (0)
Jun 17, 4-5 AM (0)
Jun 17, 5-6 AM (0)
Jun 17, 6-7 AM (0)
Jun 17, 7-8 AM (0)
Jun 17, 8-9 AM (1)
Jun 17, 9-10 AM (0)
49 commits this week
Jun 10, 2026
-
Jun 17, 2026
Range checks in value parser
Suppress generated-code warnings in the PlinthPlugin test
The AsData-generated code uses head/tail and emits pattern synonyms without signatures, tripping -Werror=x-partial and -Werror=missing-pattern-synonym-signatures. These are inherent to the plugin output, so suppress them on the test module (the plugin firing is confirmed by the generated code compiling at all). Co-Authored-By: Claude Opus 4.8 <[email protected]>
Add activation test for the PlinthPlugin deriving plugin
Adds AsData.Spec to frontend-plugin-tests: a module compiled with -fplugin PlinthPlugin that derives 'AsData via PlinthPlugin' and uses the generated Circle/Rectangle pattern synonyms. If the plugin does not fire, the deriving clause survives to the renamer and the module fails to compile, so compilation itself proves the plugin works; the HUnit case additionally exercises the generated synonyms at runtime. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Fix 9.6 overlapping-patterns + unused Hsc import in Type.Type
On GHC 9.6, UserTyVar/KindedTyVar already exhaust HsTyVarBndr, so the catch-all tripped -Werror=overlapping-patterns; move it into the >=9.10 branch (where it covers HsBndrWildCard). That leaves PlinthPlugin.Hsc unused on 9.6, so CPP-guard its import too. Verified locally with plutus's -Wall -Werror set on both GHC 9.6.7 and 9.12.2. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Make -Wno-x-partial pragma 9.6-safe
-Wx-partial does not exist before GHC 9.8, so the bare -Wno-x-partial pragma tripped -Werror=unrecognised-warning-flags on the 9.6 build. Pair it with -Wno-unrecognised-warning-flags so the unknown flag is a no-op on 9.6. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Conform PlinthPlugin modules to plutus -Wall -Werror
The vendored plinth-plugin suppressed these warnings in its own cabal; plutus-tx-plugin builds with -Wall -Werror, so: remove unused imports (CPP-guarding Bag, still needed by the 9.6 makeLHsDecl branch), give the Config/Flag derivings explicit 'stock' strategies, suppress -Wx-partial on the three generators (the head calls are non-empty by construction), and drop the unwired FromData stub. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Add Plinth parsed-AST deriving plugin to plutus-tx-plugin
Ports the PlinthPlugin parsed-result plugin (from the ghc-plinth standalone effort) into plutus-tx-plugin. It expands data declarations written with `deriving … via PlinthPlugin` into AsData pattern synonyms, Optics prisms, and Match functions at parse time, alongside the existing core Plinth.Plugin. The modules carry CPP shims so they build on both GHC 9.6 and 9.12 (the versions plutus supports). PlinthPlugin and PlinthPlugin.Via (the `data Via = PlinthPlugin` sentinel) are exposed; the rest are internal. The version banner now reads Paths_plutus_tx_plugin. Co-Authored-By: Claude Opus 4.8 <[email protected]>
address copilot review on PR #7817
- plutus-benchmark/uplc-evaluator/test/Harness.hs:126 — re-check getProcessExitCode before SIGKILL escalation (https://github.com/IntersectMBO/plutus/pull/7817#discussion_r3414323806)
Add missing # in conformance test
nightly: run uplc-evaluator integration tests
See plutus-private#2257.
uplc-evaluator: drop integration tests from the per-PR required gate
The uplc-evaluator is a non-critical on-demand tool, so its integration tests need not gate every PR. The test executable is still built on every PR; the suite is run nightly instead. See plutus-private#2257.
uplc-evaluator: bound service teardown, add timeout safety net
Test teardown ran terminateProcess followed by an unbounded waitForProcess, so a spawned service that missed SIGTERM hung the run until the 2h CI cap (plutus-private#2257). Bound the wait and escalate to SIGKILL, add a per-test tasty timeout as a safety net, and a regression test that drives a SIGTERM-ignoring process.
Add alternative names for currency and token IDs
Deploying to gh-pages from @ IntersectMBO/plutus@5b401b3ba95d2b8ecf9454aca7bf704bfd69f13c 🚀
refactor(testlib): use composition in inlineImpure4
Compose the force/delay chain with (.) instead of mixing ($) and parens, and lay the mkInlinePurityTest argument out across lines. Same term.
add Plutus Benchmarks (customSmallerIsBetter) benchmark result for 5b401b3ba95d2b8ecf9454aca7bf704bfd69f13c
Deploying to gh-pages from @ IntersectMBO/plutus@5b401b3ba95d2b8ecf9454aca7bf704bfd69f13c 🚀
Deploying to gh-pages from @ IntersectMBO/plutus@5b401b3ba95d2b8ecf9454aca7bf704bfd69f13c 🚀
Certifier: Generate one Proof .agda file per certified pass (#7814)
In an Agda certificate, all work for type-checking the translation relation proofs is done in the top-level agda module. This PR instead constructs a module per pass which has the corresponding translation relation proof. This is useful for performance debugging when type-checking an agda certificate, as we can see a break-down of the decision procedure's performance. So in addition to Pass_xyz/AST.agda, there is now also Passxyz/Proof.agda. The top-level module simply imports the proofs and constructs the certificate proof (a big tuple).