Mere is the library behind a graph-first browser. Pages, gemini capsules, local media, and notes become nodes in one spatial graph; hosts project that graph into canvases, tiles, and panes.

Graphshell, Mere's reference host: a local graph arranged through the product's own search, relation, and scene controls.
Pre-release, under active development.
- Cargo workspace of 92 crates plus runnable ports. The
merefacade crate re-exports members behind capability features (graph, linked-data, canvas, workbench, query). - Graph canvas, chrome shell, HTML and smolweb content lanes, session persistence, comms, and SPARQL query are implemented to varying degrees. Peer sync, federation, and local intelligence are partially wired.
- Recent milestones: mesh substrate and job leases (2026-08-09), wallet carry fold-in and OTP core (2026-08-10), first mesh consumer port running over real peer transport (2026-08-12).
- Workspace version 0.0.1. A few crates are published individually
(muniment, chartulary, seiche, personae, stickleback); the rest set
publish = false. - Sibling repos genet, netrender, and retinue arrive as git dependencies, so portable builds resolve published revisions. Rust pinned at 1.98.1.
Current plans live in design_docs/: distillery
follow-on slices, device-grant delegation, castellan sealed credentials, and
wiring the remaining unconsumed crates into hosts.
Mere is consumed as a git dependency by
Turnstone (the browser app) and
other sibling repos. Runnable consumers in this repository live under ports/:
graphshell (the reference graph host and web presenter), djinn (the local
desktop resident), castellan (credential keeper), and distillery (model works).
Knot Editor is an independent
repository, not a Mere port: it owns files-in-place authoring, document and
vault authority, evidence, sync and publishing, and Djinn and Turnstone consume
it from one immutable revision through the generic Mere and Genet contracts. See
knot-editor/design_docs/2026-09-01_knot_editor_repository_extraction_plan.md.
cargo build
cargo test
cargo test -p mere-kernel # single crate, by package name
# Standalone graph canvas in its own window
cargo run -p mere-canvas --features native-present --bin canvasports/graphshell has no default binary; pick one explicitly (see
ports/graphshell/README.md).
The root Cargo.lock records the portable graph. Use cargo check --workspace --locked for that graph. Python 3.11+ can additionally check configuration,
package provenance and lock preservation with python scripts/cargo_mode.py verify. Run acceptance checks in a clean checkout with documented platform
prerequisites; a local-path build is a separate receipt.
For sibling development, copy .cargo/config.toml.example to
.cargo/config.local.toml and adjust its paths for your checkout layout. Existing
users run python scripts/cargo_mode.py setup once from the repository root:
it preserves current locks and renames ignored automatic configs to opt-in local
configs. It does not overwrite an existing local config or local lock.
python scripts/cargo_mode.py local check --workspace
python scripts/cargo_mode.py local check --manifest-path ports/graphshell/web/Cargo.toml --target wasm32-unknown-unknownThe launcher requires Cargo 1.97+ and selects <workspace>/.cargo/local/Cargo.lock
even with --manifest-path. Commands run from the selected workspace root;
other relative command arguments are interpreted there. Local commands load
root and nested local configs;
ordinary Cargo commands do not. Use the launcher for editor check commands too
(an absolute script path works from a member directory). Editor metadata using
bare Cargo sees the portable graph. Do not set a global lockfile redirect.
Nested workspace portable locks and platform gates are tracked separately in
the lattice plan.
Integration uses a tested set of published revisions. Local sibling changes do not require immediate Git repins, and pin-only commits do not trigger reciprocal repins. Advance pins when accepting a tested integration or a required fix.
MPL-2.0 (see LICENSE).
This README was generated by AI and will be edited by the author upon release.