wspace.
The umbrella wiki lists each sub-wiki under sources: in its wiki.yml, pins
exact commits in wiki.lock, and keeps each sub-wiki as a named RDF graph. You
can query the whole corpus at once, or trace a result back to its source
repository. wspace keeps the repositories in sync with check, update, and
worktree workflows.
Prerequisites
- The
wikiCLI, installed per the Wiki install guide. - The
wspaceCLI, installed per the Workspace install guide. - A repository for each sub-wiki, and one repository for the umbrella wiki.
Reasons to split
Split when you want independent ownership, versioning, or release surfaces:- Each team owns its wiki history and merges its own changes.
- A reference library (product docs, regulations, shared domain models) can be reused across multiple umbrellas.
- Sub-wikis can publish or evolve on their own schedule.
Layout
The umbrella repository ownswiki.yml with a sources: block that points at
each sub-wiki repository. Each sub-wiki is its own Git repository. All
repositories, umbrella and sub-wikis, are listed in one repos.json manifest so
wspace manages them as a workspace:
Steps
1
Declare the repositories in the manifest
List the umbrella and each sub-wiki repository in Clone the missing repositories and confirm the workspace is healthy:See Workspace for the full command reference.
repos.json, following
the manifest schema:wspace check confirms every repository is present and clean. Keep the
default branch current with the remote so later updates fast-forward
cleanly:2
Compose the sub-wikis in wiki.yml
In the umbrella repository, declare each sub-wiki as an external source.
Use a git URL with a If a sub-wiki keeps its pages in a subdirectory, add This clones each repository into Check
#ref pin (branch, tag, or commit) so the composition
is reproducible:path: <dir> to point
at it. Each source name must be unique across the umbrella.Fetch the sources and pin the resolved commits:.wiki/sources/<name>/repo/, resolves the
requested refs to commit SHAs, and writes wiki.lock:wiki.lock into version control; it is the source of truth for
which commit of each sub-wiki builds the corpus. If a source declares its
own sources: block, wiki install fetches those transitive dependencies
recursively; circular dependency chains raise an error.For the full contract, see
wiki install
and
External data sources (
sources:).
For the product framing, see
Recursive Semantic Datasets.3
Query the composed corpus with per-source provenance
Each sub-wiki stays a named RDF graph. List the graph boundaries:This prints the root graph plus one graph per installed source, with the
named graph URI, resolved commit, and dependency owner. Query the whole
umbrella as one corpus:Scope a query to one sub-wiki with a Return the source graph with each result to trace provenance:
GRAPH clause:For the read-only boundary and graph URI derivation, see
wiki graph.
4
Keep repositories and content in sync
Refresh repository baselines, then refresh installed sources:
wspace update fast-forwards clean default branches and skips dirty or
feature-branch checkouts. wiki update re-fetches the installed sources,
installs newly declared transitive sources, and reports orphaned ones.
Remove sources you no longer want from the corpus (and their now-unused
transitive dependencies):5
Publish the umbrella
Sub-wiki edits happen in the sub-wiki repository, not in the umbrella’s
.wiki/sources/ cache. Make changes there with the normal worktree
workflow, then publish the umbrella:Check for success
Run the integrity checks in the umbrella repository:Next steps
- Wiki: validate, query, and publish semantic Markdown wikis
- Workspace: manage multi-repository workspaces with
wspace - External data sources (
sources:): the composition reference - Recursive Semantic Datasets: the design behind named-graph provenance