Skip to content

Release notes: 2026-05-27 — httpd E0303 nightly unblock

Summary

Extends the httpd tier-5 E0303 name-prefix exemption and aligns bench_ecosystem.py compile flags with li-tests/manifest.toml so nightly can run the full benchmark suite without skipping httpd or tier 3.

Agent continuation

  1. Read: compiler/types/typecheck.cpp (check_weak_ensures), benchmarks/harness/bench_ecosystem.py.
  2. Run: CC=clang-22 CXX=clang++-22 ./build/compiler/lic/lic build packages/li-net-httpd/src/lib.li -o build/li-httpd (no --allow-open-vc).
  3. Next: Tighten packages/li-net-httpd/src/lib.li ensures incrementally; remove prefix exemptions when done.
  4. Blocked: Full Lean discharge for async fixtures (compile_open_ok) — still use --allow-open-vc per manifest, not a nightly skip.

Changed

Path Change
compiler/types/typecheck.cpp E0303 exemption prefixes: send_, parse_, filepath_, try_, conn_, accept_, handle_, serve_, nginx_
benchmarks/harness/bench_ecosystem.py lic build flags from manifest outcomes (--allow-open-vc for compile_open_ok)

Not changed

  • Long-term httpd contract tightening (ensures result == … on every def).
  • lic main Lean mandatory gate on user packages.
  • Benchmarks dashboard ingest thresholds.

Breaking

N/A — compiler exemption only for existing httpd package names.

Security

N/A — static contract gate; no new trusted axioms.

Performance

N/A.

Downstream

  • benchmarks nightly: merge after this lic commit is on main (workflow checks out li-langverse/lic@main).