Complete engine and governance modularization - #6
Merged
Conversation
jagg-ix
marked this pull request as ready for review
July 28, 2026 05:20
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Completed the remaining Phase 1 engine closure and the next governance targets from the modularization plan.
New module conversions
Zil/Core/Declaration.leanZil/Core/DeclarationSet.leanZil/Core/Program.leanZil/Engine/Provenance.leanZil/Impact.leanZil/Parser/Tuple.lean— required by the liveProofObligationimport graphZil/ProofObligation.leanZil/TheoremAudit.leanZil/QueryGovernance.leanThe tenth completed target is the combined module-import probe over the engine and governance surface.
Each newly converted file now begins with
module, usespublic importfor its dependencies, and exposes the current API through@[expose] public section.Required correction to earlier conversions
Compilation exposed a flaw in the original mechanical recipe: an exposed declaration cannot depend on a private helper. The first concrete failure was
RelExpr.variablesdepending on privatepushName.This PR therefore promotes helper declarations across the converted closure during the blanket-exposure phase. It also renames the canonical codec's former private
nameFromStringhelper tocanonicalNameFromString, avoiding a namespace collision with the attribute codec after exposure.These changes preserve evaluation, parsing, codec, provenance, and governance behavior. Interface tightening can follow after the module migration is complete.
Validation
The following all passed on Lean
v4.31.0:Zil.Engine.ProvenanceZil.ImpactZil.ProofObligationZil.TheoremAuditZil.QueryGovernancelake buildThe temporary validation workflow was removed after publishing the validated source commit. The final PR diff contains source files only.