Record that LSP build-fact boundary coverage is complete via build-owned diagnostics and template facts.
1.7 KiB
id, type, status, parent, title, refs
| id | type | status | parent | title | refs | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| SLICE-0008 | slice | done | NS-0002 | Surface build-owned template facts without replacing build validation |
|
Objective
Define and prove the handoff between editor-visible template facts and hemx-build validation without turning the LSP into a second source of template truth.
Authority
REQUIREMENTS.md check/001, check/003, diagnostics/004, and diagnostics/005 require cross-file references visible to build validation to fail at cargo check with useful spans, while editor overlays remain optional glue.
Close when
- LSP diagnostics use the same
hemx_build::diagnostics_for_heml_*path as the CLI/file checks and publish/clear those results through protocol tests. - LSP completion and hover consume
hemx_build::template_context_facts_for_heml_sourcefor repo facts instead of maintaining a separate template fact model. - Cross-file/global completeness remains a build/mount-test concern; editor overlays may surface facts but do not replace build validation.
Verification
cargo test -p hemx-lspworkledger check
Non-goals
- Do not make the LSP own Rust type checking.
- Do not create a persistent project index unless a later slice proves it is required.
Evidence
Done across commits 6cf800c, baf4b15, 258524f, and e77ddd4, then recorded at f605c9e: LSP diagnostics use build-owned diagnostic functions; repo-fact completion/hover tests exercise template_context_facts_for_heml_source with the workout template; protocol tests prove publish/clear, completion, hover, and basic request behavior. Verified with cargo test -p hemx-lsp and workledger check.