Release notes: lic check advisory WP1¶
Status: Ready for review
Repo: li-langverse/lic
PR: feat/lic-check-advisory
PH / REQ: WP1 check/diagnose/advisory
Author: agent
Summary (one sentence)¶
Implements WP1 end-to-end by wiring configurable check policy (li.toml [check].typosquat), advisory diagnostics (W0401/W0402/W0403, N0401), and a shared run_frontend_check path used by lic check, lic diagnose, and frontend() in lic main.
Agent continuation (required)¶
- Read:
compiler/lic/include/li/check_cmd.hpp,compiler/lic/check_cmd.cpp,compiler/analyze/include/li/advisory.hpp,compiler/analyze/advisory.cpp. - Run:
./scripts/build.sh,./li-tests/run_all.sh advisory,./li-tests/tooling/diagnose_json_smoke.sh. - Then: in WP3, reuse
run_frontend_checkfor workspace-scale check orchestration (workspace walk/cache layering) without changing this per-file frontend contract. - Blocked on:
origin/feat/lic-resource-optionsis not on remote; WP1 proceeded with currentmainresource-flag behavior and did not require additionalResourceOptionschanges.
Changed (specific)¶
| Area | What | Evidence |
|---|---|---|
compiler/diagnostics/ | Severity-aware diagnostics (error/warning/note), has_errors/has_warnings, JSON ok depends on errors only | diagnostics.cpp, error_codes.cpp |
compiler/config/ | Added check config loader for nearest li.toml [check].typosquat = warn|deny | check_config.cpp, check_config.hpp |
compiler/analyze/ | Advisory passes for unused import (W0401), unreachable statement (W0402), requires-without-ensures note (N0401) | advisory.cpp |
compiler/types/policy.* | Typosquat policy now configurable: W0403 warn by default, E0330 deny when configured | policy.cpp, policy.hpp |
compiler/lic/ | Added run_frontend_check API + lic_check_main/lic_diagnose_main; --deny-warnings; main.cpp dispatch delegates to command handlers | check_cmd.cpp, check_cmd.hpp, main.cpp |
| CMake wiring | Added/linked li_config and li_analyze where needed (compiler, types, lic) | compiler/CMakeLists.txt, compiler/types/CMakeLists.txt, compiler/lic/CMakeLists.txt |
li-tests/ | Added advisory fixtures/outcomes (check_ok, check_deny_warn, check_fail), migrated typosquat_paralell to warning path, expanded JSON smoke for mixed severity | manifest.toml, run_all.sh, advisory/*, tooling/diagnose_json_smoke.sh |
Not changed (scope fence)¶
- No
runtime/edits. - No
emit.cpp/fopenmpchanges. - No
workspace_checkorcheck_cacheimplementation (reserved for WP3).
Breaking changes¶
None.
Security¶
N/A — diagnostics/config/advisory behavior only; no new privileged runtime surface.
Performance¶
N/A — no runtime/codegen hot-path changes; advisory pass runs in lic check frontend only.
Downstream¶
| Repo | Action |
|---|---|
| lip / lit / lis | N/A |