feat(ir): implement core IR document and closed domain sums #14
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/core-ir"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
aesonandtextdependenciesIR.Domain.{Process,Service,Power,Network}with newtypes and closed sum typesIR.Condition,IR.Action,IR.Policywrapping domain typesIR.Types:IRDocument,IRVersion,ProfileSection,ServiceSectionIR.Validatedwith opaqueValidatedIRconstructor (onlyvalidateproduces it)IR.SerializationwithToJSON/FromJSONfor the intent.json schematasty-goldentest suite: 23 tests including golden JSON fixtures and round-trip testsCloses #7
Each domain gets its own serialization module: IR.Serialization.{Process,Service,Power,Network,Document} IR.Serialization remains an aggregator that imports all instances.ToJSON/FromJSON instances moved into domain modules and IR.{Condition,Action,Policy,Types}. IR.Serialization.* deleted — no longer needed as a side-effect-import facade. Orphan warnings eliminated without suppression pragmas. ProfileSection switches to genericToJSON; policies field now always emitted.