Archmeta Application C4 L2 Grammar
Elements (4)
Grammarc4:container
archmeta.grammarThe Langium grammars for .arch, .data, .view, .cascade and .metamodel, plus the generated parsers and TextMate syntaxes. Depends on nothing else in the product — deliberately, so the language can be reasoned about without the Kernel.
ArchMetac4:softwaresystem
archmetaA platform for managing architecture documentation as code. Architects describe their organisation in a textual DSL stored in Git; the Kernel reads that repository into an in-memory graph and serves it over REST, the Viewer authors it, and the Publisher turns it into a static site. There is no database — Git is the source of truth, and the same commit always produces the same model.
Kernelc4:container
archmeta.kernelReads the repository into an in-memory graph and serves it over REST on port 7777. Never throws on model content: unresolved references, malformed attributes and rule violations become diagnostics, and the load always completes. A pure function of the repository — no clock, no randomness, no network during a load — so the same commit produces the same model and the same diagnostics forever.
Loaderc4:component
archmeta.kernel.loaderWalks the repository, parses every source file and builds the graph. Deterministic in ordering as well as in content, so two loads of one commit produce byte-identical output. A syntax error costs the statement, not the file.
Relationships (5)
archmeta.kernel.loader → archmeta.grammarLoader → Grammarc4:dependson
archmeta.kernel.loader → archmeta.grammarParses every source file withc4:dependson
archmeta.kernel → archmeta.grammararchmeta.kernel → archmeta.kernel.loaderKernel → Loaderarchimate:composition
archmeta.kernel → archmeta.kernel.loaderarchmeta → archmeta.grammarArchMeta → Grammararchimate:composition
archmeta → archmeta.grammararchmeta → archmeta.kernelArchMeta → Kernelarchimate:composition
archmeta → archmeta.kernel