Changelog - 2026-10-18
VULCAN 0.2.0-5: many pages per renderer, coverage by resource, unique package keys
Type: Enhancement, Bug Fix
In one line. Three gaps BANA found while adopting VULCAN: one renderer for many pages, coverage for concepts that live elsewhere, and two packages in directories of the same name.
What changed
- A renderer may render many pages.
render()returns one file or an array of files, for example one page per entity. Every page is checked in memory before anything is written (inside the bundle, one owner per path),checkcompares each page, andcoveragereports the renderer as generated when every page has a concept. A single object still works. - Coverage counts a concept by its
resource. A directory anokf.coverageaxis matches is covered by a concept at/<axis>/<directory>.md, or by any concept whose frontmatterresourceis that directory's path from the root, wherever the concept lives. - A repeated package key is an error.
packages[].diris a unique key, not the directory name. A repeateddir, a repeated npmnameor two live packages at onepathfail the config with a message that says so. Two packages in directories both calledcoreareumbras-coreandkits-core, told apart bypath. - A tag's
<dir>may hold slashes. Withatlas.tagPattern: '<dir>/<version>'the tagapps/core/0.0.1-0readsapps/coreas the directory, which resolves through an alias of the package. The same holds foratlas.releaseCommit. - CI runs on
ubuntu-26.04in VULCAN's own workflows (a repository change, not a package change).
Who is affected
- A project that lists the same
dir,nameor livepathtwice. Its config now fails; give each package its owndirand setpath. - Everyone else. No action needed: upgrade, then
vulcan sync.