Crate stamps are 0.0.38. Workspace crates, portal package.json, and docs/tests/release-version-consistency.test.mjs identify 0.0.38. Publish path is tag v0.0.38 (matches the github-pages v* policy). Neo sole-pushes this line, then creates the annotated tag. Branch 0.0.38 deploys may still be rejected until repo settings add that branch.
Local-first · human-centric · branch 0.0.38 · tip 7a868ecd

The habitat a person can use
without an agent in the loop.

0.0.38 is the habitat line on top of the 0.0.37 WASM-safe engine. Desktop UAT is green for Directory, Talk, Mail, Catalog, and Native Connected. Wait-honest chrome says held / not yet — never broken theatre.

Engine archive: 0.0.37 · 0.0.33 · QDNF · Release matrix · notes 0.0.38-pages-wake.md

UAT · Desktop

Live board is green

Directory / Talk / Mail / Catalog PASS at tip a536a9ea.

Native Connected PASS at tip 7a868ecd — prefer the existing daemon on :4242.

Fabric

Handle ≠ human

Continuity treats a DID as a handle / coord, never as the human. DNS is never who. Public relay stays unticked until a real second-host URL exists.

QDNF map →

Habitat

Poet stays one product

Ask · Keep · Talk are teachable loops, not a locked top nav. Chatbot is a tool. Humans first in Directory. Catalog Open pack binds live on :4242.

Open the live habitat →

What is real in 0.0.38

Habitat honesty, now with crate stamps

Held / not yet. Wait-honest chrome no longer paints user-visible “unavailable”. Empty, unbound, or daemon-down states say held / not yet plus a short why. Live binds must not false-held.
Directory, humans first. Palette dir / contacts / address book opens Talk → People. Humans list first; organizations are a legal-person who-kind; tools last. No agent required.
Talk / Mail, human-alone. Send works without a local model. Missing instrument stays held / not yet — the chatbot is not the other party. Talk → Mail is the daily inbox. Receiver-down is held, not a red broken page.
Catalog Open pack, live bind. Desktop Catalog · Lexicon prefers HTTP /invoke GraphDatabase.lexicon_manifest on Native Connected :4242. Empty or nonsense path stays held / not yet — open lexicon pack.
Continuity: handle ≠ human. Actor did:qualia:… is a handle / coord. Revoking a handle is not who-erase. Sanctuary Keep / volumes survive handle death.
Desktop Native prefers :4242. A healthy Qualia daemon on the contract port is reused. Desktop does not spawn :4243 just because the bind probe sees :4242 in use.

Publish path

Tag v0.0.38, then Pages

  1. Neo sole-pushes this wake onto branch 0.0.38. Do not merge from a guest fork.
  2. Neo creates annotated tag v0.0.38 on the published tip. This PR does not create the tag.
  3. pages.yml runs on tags v*. That is the intended deploy.
  4. Crate stamps, lock, and live-surface identifiers are 0.0.38. This PR does not create the git tag.

Honest gaps

Not claimed

  • Consistency tests that Pages runs now expect 0.0.38 crate and live-surface stamps.
  • This is not Gmail / Apple Mail / Contacts parity. Human-alone paths are teachable, not peer clones.
  • QDNF / QPR public relay is still unticked. Handle ≠ human is a Continuity rule, not a finished mesh.
  • WASM size numbers on this site remain 0.0.37 measurements until the next measured Pages build.

Try it on this site