Proof
Not Rest Inc. · Proof · Claims travel with their receipts
A claim is not an outcome.
Reality over narrative: evidence outranks persuasion. An agent that says the work is done has not done the work, and a company that says it built something has not built it. So everything here is written the same way — what was intended, what it was composed from, what was actually done, how you can check it, what state changed, and what we took from it. Every evidence field is a link you can open right now. Where something is unmeasured, it says so.
Last conformance run
165 checks passed · 2026-09-05 15:26Z · deployment nr2-20260905-152625-3de8f1ed
Every check the deploy gate ran against this exact build. It blocks the ship when it fails.
- PASS declarations present — 10 file(s) in public/agents
- PASS parse chat.json
- PASS parse concierge.json
- PASS parse field.json
- PASS parse index.json
- PASS parse ring-capabilities.json
- PASS parse ring-company.json
- PASS parse ring-philosophy.json
- PASS parse ring-platform.json
- PASS parse ring-projects.json
- PASS parse site.json
- PASS required fields chat.json
- PASS degree_of_agency chat.json — adaptive
- PASS prohibited effects chat.json
- PASS id matches filename chat.json — id=chat
- PASS required fields concierge.json
- PASS degree_of_agency concierge.json — deterministic
- PASS prohibited effects concierge.json
- PASS id matches filename concierge.json — id=concierge
- PASS required fields field.json
- PASS degree_of_agency field.json — deterministic
- PASS prohibited effects field.json
- PASS id matches filename field.json — id=field
- PASS required fields index.json
- PASS degree_of_agency index.json — deterministic
- PASS prohibited effects index.json
- PASS id matches filename index.json — id=index
- PASS required fields ring-capabilities.json
- PASS degree_of_agency ring-capabilities.json — deterministic
- PASS prohibited effects ring-capabilities.json
- PASS id matches filename ring-capabilities.json — id=ring-capabilities
- PASS required fields ring-company.json
- PASS degree_of_agency ring-company.json — deterministic
- PASS prohibited effects ring-company.json
- PASS id matches filename ring-company.json — id=ring-company
- PASS required fields ring-philosophy.json
- PASS degree_of_agency ring-philosophy.json — deterministic
- PASS prohibited effects ring-philosophy.json
- PASS id matches filename ring-philosophy.json — id=ring-philosophy
- PASS required fields ring-platform.json
- PASS degree_of_agency ring-platform.json — deterministic
- PASS prohibited effects ring-platform.json
- PASS id matches filename ring-platform.json — id=ring-platform
- PASS required fields ring-projects.json
- PASS degree_of_agency ring-projects.json — deterministic
- PASS prohibited effects ring-projects.json
- PASS id matches filename ring-projects.json — id=ring-projects
- PASS required fields site.json
- PASS degree_of_agency site.json — deterministic
- PASS prohibited effects site.json
- PASS id matches filename site.json — id=site
- PASS constituents <-> declaration files 1:1
- PASS agent roster is the nine proportionate agents — chat, concierge, field, ring-capabilities, ring-company, ring-philosophy, ring-platform, ring-projects, site
- PASS index.json carries the site-level purpose
- PASS concierge approval_required includes send-email
- PASS concierge prohibits autonomous-outbound
- PASS concierge prohibits send-email
- PASS chat declares adaptive agency
- PASS chat pins the model id — unsloth/Qwen3.8-27B-NVFP4
- PASS chat pins thinking off
- PASS chat reaches only the owner's agent host — https://agent.not.rest
- PASS chat prohibits training, persistence, sending
- PASS chat states where the words go
- PASS same-origin links resolve chat.json
- PASS same-origin links resolve concierge.json
- PASS same-origin links resolve field.json
- PASS same-origin links resolve index.json
- PASS same-origin links resolve ring-capabilities.json
- PASS same-origin links resolve ring-company.json
- PASS same-origin links resolve ring-philosophy.json
- PASS same-origin links resolve ring-platform.json
- PASS same-origin links resolve ring-projects.json
- PASS same-origin links resolve site.json
- PASS capital-state.json parses
- PASS capital state is a known state — NO_OFFERING
- PASS NO_OFFERING language clean capital.html
- PASS NO_OFFERING language clean capital/evidence.html
- PASS NO_OFFERING language clean capital/exists.html
- PASS NO_OFFERING language clean capital/participate.html
- PASS NO_OFFERING language clean capital/progress.html
- PASS NO_OFFERING language clean capital/questions.html
- PASS NO_OFFERING language clean capital/system.html
- PASS kernel functions present — _middleware.js, capsule.js, intent.js, journal.js, pulse.js, receipts.js
- PASS intent.js present
- PASS intent.js has no outbound mail path — forbids sendmail/smtp/resend/sendgrid
- PASS intent.js exposes NR2_INTENT_RULES
- PASS intent.js composes drafts kernel-side
- PASS intent.js declares NR2_INTENT_URLS
- PASS intent.js declares the two wing origins and only those — https://tell.rest, https://dig.rest
- PASS every URL literal in intent.js comes from NR2_INTENT_URLS
- PASS intent.js builds no URL at runtime
- PASS adaptive path is gated while concierge declares deterministic — declaration and code must move together
- PASS pulse.js present
- PASS pulse.js reaches only the four declared siblings
- PASS only pulse.js reaches another origin (intent.js reads its own site's wing catalogs)
- PASS intent.js fetches only the two wing catalogs, resolved on its own origin — 1 fetch site(s)
- PASS pulse.js has exactly one fetch call site — 1 found
- PASS no function sets a cookie header
- PASS journal.js writes only to the JOURNAL binding — JOURNAL
- PASS receipts.js writes only to the JOURNAL binding — JOURNAL
- PASS capsule.js writes only to the JOURNAL binding — JOURNAL
- PASS journal.js sets event time server-side (NR2_SERVER_TIME) — Date.now(), // NR2_SERVER_TIME — event time is server-set; a client cloc
- PASS journal.js bounds its replay with LIMIT 500
- PASS receipts.js bounds its read with LIMIT 200
- PASS middleware fails open on any exception
- PASS middleware sets cache-control no-store on /api/*
- PASS index.html carries the agentic-ui marker class
- PASS index.html carries the nr2-swarm marker
- PASS index.html does not touch document.cookie
- PASS site declares the visit-memory store
- PASS site declares storage-write
- PASS site forbids persisting visitor text
- PASS visit memory is declared on-device — localStorage / visitor-device
- PASS visit memory declares it never records visitor text
- PASS site declares the per-tab visit marker — sessionStorage / nr2-visit
- PASS localStorage is used only under declared keys, and the chat zoom is one of them — nr2-zoom vs nr2-zoom — 8 uses
- PASS the chat zoom scales the frame, never the type inside the blob's document — one factor on the published scale, no type touched
- PASS sessionStorage is used only for the declared tab marker — nr2-visit — 3 uses, 3 keyed
- PASS field still prohibits storage-write
- PASS index.html carries the visit-memory harvest
- PASS visit memory harvests outcomes, never words
- PASS the visit-memory key is used only for localStorage — 5 uses, 4 storage
- PASS the spine carries a forget control
- PASS the whisper context function ships
- PASS the whisper hands the service the doors as booleans, and one table owns both wing sentences — doors readout, whisper field, lines table and both receipts
- PASS index.html loads no third-party script
- PASS the /about rule is guarded to the site itself, in both mirrors, off one list of names — 9 names, both matchers honour the guard
- PASS every page-and-walk name rule is guarded against questions, in both mirrors, off one vocabulary — 15 rules each side
- PASS a route into the walk the visitor is already in stays put, and only the restart words rewind it — 23 stops, all in PAGE_URLS
- PASS a wing door is decided by the url's origin, ahead of the slug and stay-guard that could swallow it — origin test, executor order and receipt all read the same normaliser
- PASS a wing door that never confirms is revealed in the field, never navigated to — 1 plain navigation, wings handed to the reveal
- PASS the own-page link is a real anchor the visitor presses, and nothing in the field presses it — anchor, rel, journal effect, no scripted click, own_page shape
- PASS intent tables found in both mirrors
- PASS intent tables agree on rule count — front 43 / kernel 43
- PASS intent tables agree on trigger vocabulary
- PASS 404.html present (SPA-fallback killed)
- PASS 404.html identifies itself
- PASS 404.html routes back to the site map
- PASS sitemap does not list the 404 page
- PASS chat page present at /chat/
- PASS chat page loads only its own /chat/ assets — /chat/assets/fluidui.js?v=6c39b25c
- PASS chat page points at the declared agent host
- PASS chat page hands field routes to the parent
- PASS homepage hosts the blob frame
- PASS homepage exposes the field executor to the blob
- PASS concierge input retired (hidden)
- PASS the part is BRANCHED off when the strands list is closed, and never moves the centre — radius, polyline, unmoved centre and the band's own edge all branch
- PASS __nr2SetPart declines only on impossible geometry, off a hero-measured fixed point the dent never carries a point past — empty box, an already-clear field and a phone decline; the hero sets the fixed point and the clamp holds it
- PASS the masthead (the strands), the spine and the chat zoom outrank the chat frame, so a press on them is theirs — chat 31, masthead 33, spine toggle 33, spine 40, zoom 33
- PASS the chat zoom is placed under the blob's mark, centred on the mark it measures — centre from the mark's own box, centred by transform, measured only at rest
- PASS the wing catalogs parse, are named uniquely and stay on their own origins — 58 stories / 143 chains
- PASS any own_page flag in the catalogs is a boolean — 0 flagged
- PASS the tree's doors.json is the honest placeholder (unprobed means reveal) — placeholder
- PASS a wing opens as a door only on its own origin and only when the probe says it frames — frameability gate, door path and origin allowlist all present
- PASS ring-projects declares the wing doors, and its sample wing links exist in the catalogs — 2 sample links
- PASS the part journals only doctrine kinds — result, dispose
- PASS the strands list is text at the spine's width, arrow on the left — svg gone true, width min(180px,60vw) vs spine min(180px,60vw), link true
- PASS generator.html present
- PASS generator loads only its own first-party module — /generator/design-slides.mjs
- PASS generator touches no cookie or storage
- PASS generator page carries the mark
- PASS generator module present under public/generator/
- PASS generator module reaches no network
- PASS generator module marks every slide Not Rest Inc.
- PASS generator module is byte-identical to the learn.not.rest build copy
- SKIP staged /proof checks (no NR2_STAGE — not a deploy)
dig.rest
Everyday platform · live · donation-powered
- Objective
- Turn research into causal understanding rather than a pile of links — and keep it reachable by anyone, not gated behind a purchase.
- Composition
- The shared foundation: bounded agents with declared authority, the open-source session harness discipline, and a small public front door.
- Action
- Shipped as a live product and kept running, with donations rather than a paywall carrying the cost.
- Evidence
- dig.rest · /capital/progress
- Result
- Live and open — click it and use it without an account or a card.
- Learning
- Belief under test: community-sustainable finances can carry real products. Falsifier, published rather than hidden: donations stop covering what the products cost to run. Test: dig.rest staying up, openly.
tell.rest
Educational tools · live · donation-powered
- Objective
- Give people a way to tell a story into being — creation as a tool anyone can pick up, not a craft reserved for whoever already has the machinery.
- Composition
- The same foundation carried into a different vertical: declared agents, the harness discipline, a public front door.
- Action
- Shipped as a live product alongside dig.rest, on the same donation model.
- Evidence
- tell.rest · /capital/progress
- Result
- Live and open. Two products now stand on one foundation — the first real test of whether it composes.
- Learning
- Belief under test: one small team plus the harness can ship across verticals without quality collapse. Falsifier: defect rates rise as the surface grows. Test: the public record of each ship.
mend.rest
Foundational · live as a development instance
- Objective
- Build trust and repair as a system rather than a promise — the part of an agent platform that handles what happens after something goes wrong.
- Composition
- A declared trust-and-repair agent system, built on the same accountable-agent foundation.
- Action
- Shipped and reachable, and labeled a development instance rather than dressed up as a finished product.
- Evidence
- mend.rest
- Result
- Live at the address, at development maturity — that qualifier is part of the claim, not a footnote to it.
- Learning
- A system about repair cannot claim more maturity than it has; the honest label is the cheapest thing to ship and the most expensive thing to retract. Unmeasured: whether the repair loop holds under real load.
The session harness
Open source · MIT · 31 skills
- Objective
- Make delegated AI work accountable: name every delegation before it runs, record every conclusion, gate what is irreversible, and leave a trail a stranger can audit.
- Composition
- Thirty-one skills, hooks, and append-only ledgers, arranged so one seat keeps judgment — decompose, judge, apply, gate — and concurrent lanes carry the rest.
- Action
- Published in the open under MIT, and used as the working discipline for everything else on this page, including this site.
- Evidence
- github.com/notrestai/notrest
- Result
- Installable and readable by anyone — the discipline is inspectable, not asserted.
- Learning
- Delegation without records is just hoping, so the records are the feature. Unmeasured: adoption outside this company.
not.rest — the field
The front door · nine declared agents · a per-visit kernel
- Objective
- Prove the philosophy in public instead of describing it: the front door should be auditable by whoever is standing in it.
- Composition
- Nine declared agents — the field, the rings, the concierge, the kernel — over a small serverless kernel: a per-visit capsule, an append-only journal with five permitted event kinds, a receipts read, and a conformance gate in the deploy path.
- Action
- Shipped, with the declarations published as files and the gate wired into every deploy: if code and declarations disagree, the ship is refused.
- Result
- Every agent's purpose, permitted effects, and prohibitions are public and machine-readable. Cookies, cross-site tracking, and authority-change are prohibited in every declaration. The concierge drafts a message to us; it can never send one.
- Learning
- Belief under test: declared accountability earns trust. Falsifier: visitors never open the receipts. Test: whether anyone actually reaches the declarations and the repo.
The Workshop
Seven lessons · free · no account
- Objective
- Hand people the manual nobody handed them — how the machine actually reads, why it invents, what an agent is, and what to never hand over.
- Composition
- Seven standalone readings drawn from the live workshop, written in plain language, published as static pages with no signup and no cookies.
- Action
- Published free on this site rather than sold as a course.
- Evidence
- /workshop
- Result
- Seven lessons readable end to end, by anyone, in an afternoon.
- Learning
- Teaching people to check the machine is upstream of every other claim here — a visitor who cannot verify cannot delegate safely. Unmeasured: whether the lessons change what people actually do.
Failures
The other half of the record
Failure is information. The dangerous failure is not we tried and reality proved us wrong — it is reality proved us wrong and the system hid it. So failures get the same structure as successes, and the same permanence:
ASSUMPTION ↓ TEST ↓ EVIDENCE ↓ FAILURE ↓ LEARNING ↓ CHANGE
This section carries no entries yet. That is not a claim that nothing has gone wrong — it is a claim that nothing has been published here yet, which is a different and much smaller thing. Entries land here as the company publishes them, each with the change that followed. Until then, the dated record of what was said and what happened is /capital/progress, and the beliefs we are actively trying to break are listed there in the open.
If you find something on this site that a receipt does not support, that is worth more to us than agreement — write to do@not.rest. How the whole system is meant to work, marked honestly: Platform.