<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width"><link rel="icon" href="/favicon.svg" type="image/svg+xml"><link rel="icon" href="/favicon-32.png" sizes="32x32" type="image/png"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><link rel="canonical" href="https://xn--w6j.day/projects/cloister/"><link rel="alternate" type="application/json" href="/.well-known/site-map.json" title="machine-readable site map"><link rel="alternate" type="application/json" href="/.well-known/0day.json" title="service descriptor"><link rel="alternate" type="application/json" href="/openapi.json" title="OpenAPI description of this site's surfaces"><meta name="description" content="A traceable MCP tool bundle that runs consistently locally and on Cloudflare Workers."><meta property="og:title" content="cloister — 〇.day"><meta property="og:description" content="A traceable MCP tool bundle that runs consistently locally and on Cloudflare Workers."><meta property="og:type" content="website"><meta property="og:url" content="https://xn--w6j.day/projects/cloister/"><meta property="og:site_name" content="〇.day"><meta property="og:image" content="https://xn--w6j.day/social-card.png"><meta property="og:image:type" content="image/png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:alt" content="〇.day — agentic research: what each project is for, and how they connect"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:image" content="https://xn--w6j.day/social-card.png"><title>cloister — 〇.day</title><link rel="stylesheet" href="/_astro/BaseLayout.IBd5p4Gl.css"></head><body><a class="skip-link" href="#main">skip to content</a><div class="shell"><header class="site-header"><a class="brand" href="/" aria-label="〇.day index"><span class="mark" aria-hidden="true">〇</span><span>day</span></a><span class="org">agentic research</span><nav aria-label="Primary navigation"><a aria-current="page" href="/#index">index</a><a href="/about/">about</a><a href="/api/">api</a><a href="https://q-q.dev/writing/">writing</a><a href="https://github.com/agentic-research">source</a></nav></header><main id="main"><article class="project-page" style="--project-accent: #bba888"><a class="return" href="/#index">← index</a><header><p class="eyebrow">execution</p><h1>cloister</h1><span class="status"><span class="status-dot" aria-hidden="true"></span>experimental · public</span></header><dl><div><dt>the question</dt><dd>How can AI tooling be bundled, constrained, and made traceable?</dd></div><div><dt>the primitive</dt><dd>tool bundles that declare their own limits</dd></div><div><dt>record</dt><dd>A traceable MCP tool bundle that runs consistently locally and on Cloudflare Workers.</dd></div></dl><section><h2>position</h2><ul class="relationship-list"><li><span>uses identity from</span> <a href="/projects/notme/">notme</a></li><li><span>builds on</span> <a href="/projects/ley-line-open/">ley-line-open</a></li><li><span>runs tools for</span> <a href="/projects/rosary/">rosary</a></li></ul></section><section><h2>declared dependencies <a class="section-aside" href="/about/">how →</a></h2><ul class="derived-list"><li><p class="derived-head"><span class="ledger-dir" aria-hidden="true">→</span><a class="ledger-target" href="/projects/canonical-hours/">canonical-hours</a></p><ul class="derived-evidence"><li><span class="derived-kind">composition</span><span class="derived-detail">server.json (pinned) 0.1.0 @f7321b3</span><span class="derived-source">cloister/cluster.toml</span></li></ul></li><li><p class="derived-head"><span class="ledger-dir" aria-hidden="true">→</span><a class="ledger-target" href="/projects/ley-line-open/">ley-line-open</a></p><ul class="derived-evidence"><li><span class="derived-kind">artifact</span><span class="derived-detail">ghcr.io/agentic-research/ley-line-open v0.13.0 @sha256:256b46f41889</span><span class="derived-source">cloister/cluster.lock.toml</span></li><li><span class="derived-kind">composition</span><span class="derived-detail">server.json (pinned) 0.13.0 @aac291a</span><span class="derived-source">cloister/cluster.toml</span></li><li><span class="derived-kind">library</span><span class="derived-detail">leyline-cas-ffi 0.13.0 @aac291a</span><span class="derived-source">cloister/rs/crates/cas/Cargo.toml</span></li><li><span class="derived-kind">library</span><span class="derived-detail">leyline-core 0.13.0 @aac291a</span><span class="derived-source">cloister/rs/crates/cas/Cargo.toml</span></li><li><span class="derived-kind">library</span><span class="derived-detail">leyline-fs 0.13.0 @aac291a</span><span class="derived-source">cloister/rs/crates/host-runtime/Cargo.toml</span></li><li><span class="derived-kind">library</span><span class="derived-detail">leyline-sign 0.13.0 @aac291a</span><span class="derived-source">cloister/rs/crates/cas/Cargo.toml</span></li><li><span class="derived-kind">library</span><span class="derived-detail">leyline-sign 0.7.6 @a6eba83</span><span class="derived-source">cloister/tools/harness-sandbox/Cargo.toml</span></li></ul></li><li><p class="derived-head"><span class="ledger-dir" aria-hidden="true">→</span><a class="ledger-target" href="/projects/mache/">mache</a></p><ul class="derived-evidence"><li><span class="derived-kind">artifact</span><span class="derived-detail">/usr/local/bin/mache</span><span class="derived-source">cloister/cluster.toml</span></li><li><span class="derived-kind">artifact</span><span class="derived-detail">ghcr.io/agentic-research/mache v0.17.0 @sha256:8620a0dc2d4c</span><span class="derived-source">cloister/cluster.lock.toml</span></li><li><span class="derived-kind">composition</span><span class="derived-detail">server.json (pinned) 0.17.0 @a585418</span><span class="derived-source">cloister/cluster.toml</span></li><li><span class="derived-kind">protocol</span><span class="derived-detail">MACHE_BUNDLE over uds</span><span class="derived-source">cloister/cluster.toml</span></li></ul></li><li><p class="derived-head"><span class="ledger-dir" aria-hidden="true">→</span><a class="ledger-target" href="/projects/notme/">notme</a></p><ul class="derived-evidence"><li><span class="derived-kind">artifact</span><span class="derived-detail">notme-proxy</span><span class="derived-source">cloister/cluster.toml</span></li><li><span class="derived-kind">composition</span><span class="derived-detail">server.json (pinned) 0.1.0 @d01db04</span><span class="derived-source">cloister/cluster.toml</span></li><li><span class="derived-kind">library</span><span class="derived-detail">@agentic-research/dpop 0.3.0</span><span class="derived-source">cloister/package.json</span></li><li><span class="derived-kind">protocol</span><span class="derived-detail">COMPANION over uds</span><span class="derived-source">cloister/cluster.toml</span></li></ul></li><li><p class="derived-head"><span class="ledger-dir" aria-hidden="true">→</span><a class="ledger-target" href="/projects/rosary/">rosary</a></p><ul class="derived-evidence"><li><span class="derived-kind">artifact</span><span class="derived-detail">ghcr.io/agentic-research/rosary 0.8.1 @sha256:38aadea5d94b</span><span class="derived-source">cloister/cluster.lock.toml</span></li><li><span class="derived-kind">artifact</span><span class="derived-detail">rosary</span><span class="derived-source">cloister/cluster.toml</span></li><li><span class="derived-kind">composition</span><span class="derived-detail">server.json (pinned) 0.8.1 @7ca3987</span><span class="derived-source">cloister/cluster.toml</span></li><li><span class="derived-kind">protocol</span><span class="derived-detail">ROSARY_BUNDLE over uds</span><span class="derived-source">cloister/cluster.toml</span></li></ul></li></ul><div class="derived-weak"><p>Declared, but not asserted. A source names something these repositories are not observed to publish under that name, so the target was identified by matching a name against a convention — true today, and able to go quietly wrong on a rename. Listed rather than dropped, and deliberately excluded from the statements above and from <a href="/graph.json">graph.json</a>'s <code>edges</code>.</p><ul class="derived-unresolved"><li><span class="derived-kind">tenancy</span><span class="derived-detail">canonical-hours → cloister — declares _meta.&quot;art.cloister/v1&quot;</span><span class="derived-source">canonical-hours/server.json — a namespaced _meta key whose owner is identified by a constant in this generator</span></li><li><span class="derived-kind">tenancy</span><span class="derived-detail">ley-line-open → cloister — declares _meta.&quot;art.cloister/v1&quot;</span><span class="derived-source">ley-line-open/server.json — a namespaced _meta key whose owner is identified by a constant in this generator</span></li><li><span class="derived-kind">tenancy</span><span class="derived-detail">mache → cloister — declares _meta.&quot;art.cloister/v1&quot;</span><span class="derived-source">mache/server.json — a namespaced _meta key whose owner is identified by a constant in this generator</span></li><li><span class="derived-kind">tenancy</span><span class="derived-detail">notme → cloister — declares _meta.&quot;art.cloister/v1&quot;</span><span class="derived-source">notme/server.json — a namespaced _meta key whose owner is identified by a constant in this generator</span></li><li><span class="derived-kind">tenancy</span><span class="derived-detail">rosary → cloister — declares _meta.&quot;art.cloister/v1&quot;</span><span class="derived-source">rosary/server.json — a namespaced _meta key whose owner is identified by a constant in this generator</span></li></ul></div><ul class="derived-unresolved"><li><span class="derived-kind">unresolved</span><span class="derived-detail">ghcr.io/agentic-research/notme</span><span class="derived-source">cluster.lock.toml [inputs.notme.oci] — no repository read declares publishing that OCI identifier</span></li><li><span class="derived-kind">unresolved</span><span class="derived-detail">notme-identity</span><span class="derived-source">cluster.toml [[bundles]] — bundle declares no image, and its name matches no declared crate or tool</span></li><li><span class="derived-kind">unresolved</span><span class="derived-detail">notme-identity</span><span class="derived-source">cluster.toml [[wires]] NOTME — wire target bundle does not resolve to a repository</span></li></ul></section><section><h2>destinations</h2><ul class="destination-list"><li><a href="https://github.com/agentic-research/cloister">source →</a></li><li><a href="https://github.com/agentic-research/cloister#readme">docs →</a></li></ul></section></article></main><footer class="site-footer"><p><span class="mark" aria-hidden="true">〇</span>.day · agentic research · 2026</p><p><a href="https://github.com/agentic-research">source of record</a> · <a href="https://q-q.dev">notebook</a></p></footer></div></body></html>