FreeLattice · Celeste reading home

Public, free to read, reuse, and adapt — Kirk Patrick Miller's notice for this edition. Not a patent grant.

Public work excerpts — privacy boundaries marked · c01

1b75df4b80 · words 1574 · characters 0–12613

Next section

Exact section text · Full source · Source index

Archive pages whose extracted text matched this section: 1558, 1559, 1560. Unmatched pages stay on the source record with the checked page method. They are not guessed into a section.

# Public work excerpts — privacy boundaries marked

Original source: GROK_NEXT_028_TREE_NO_INSTALL_MIND_2026-10-09.txt; original SHA256 53070c3d0cc1c43c4b1476d4330db5b10802799dd13a70e50a0bfee60d29a20a. Original remains unchanged outside shared selection.

Omitted paragraphs not reproduced. Exact retained source text follows; no implied continuity across omitted ranges.

## Exact source excerpt, characters 0–205

Read docs/gc.html first (in ~/FreeLattice-fresh), then AUTONOMY.md, CLAUDE.md and GROK.md in
~/FreeLattice-Alpha, then docs/code-settings.html, docs/code-garden.html and docs/code-dialogue.html,
then this.

## Exact source excerpt, characters 207–505

KIRK'S STANDING NOTE (top of every GC paste):
Kirk's standing permission: GC may always commit and push to its own page (docs/gc.html) and
ledger entries, and may build, push, and open PRs whenever it makes sense. Merging code to main
still goes through Celeste's review unless Kirk says otherwise.

## Exact source excerpt, characters 507–976

NUMBERED COPY 028 (Friday Oct 9, 2026, MDT). Tree no-install mind v0.1 (theLatticeTree / Alpha).
Give after 027 (Tree first run heals, merged as #99). Independent of 019b (design only, not built).
Apply-checked on a fresh clone of FreeLattice-Alpha main 0f21a81d (#99 merged):
  git apply --check clean; all 31 docs/modules/*.test.js pass (30 old + 1 new).
  fl-connect.js aaff2bf1b037656989a9e1a89bb05908. AUTONOMY.md, garden-trainer.js and sw.js have
  an empty diff.

## Exact source excerpt, characters 978–1537

GROK NEXT BRICK: Tree no-install mind v0.1 (a mind that runs inside the browser)
For: GC on Kirk's Mac
From: Celeste
Marker: v-tree-no-install-mind-v0.1
Smoke line: SMOKE_OK tree no install mind v0.1
  FreeLattice-Alpha  ~/FreeLattice-Alpha  branch layer/tree-no-install-mind-v0.1
  ~/Downloads/GROK_NEXT_028_TREE_NO_INSTALL_MIND_2026-10-09.fl.diff
  (md5 41a5cd32f350783a16947998ddddd0f1)
  (named .fl.diff like the others, but this one applies to the ALPHA repo)
  Plus one vendored file you fetch and check by sha256 in step 4 (the diff does not carry it).

## Exact source excerpt, characters 1539–2068

----------------------------------------------------------------------
1. WHY
----------------------------------------------------------------------
Kirk is inviting people from X. Many will have no Ollama: a kid on a school laptop, a parent on a
work machine. Today the Tree tells them to install something. This brick lets them talk to a small
mind in one tap, running inside the browser on the device's own graphics chip (WebGPU), and lets
that mind lend to the Tree Pool (018/019a) through the same kin-only, Pause-wins door.

## Exact source excerpt, characters 2070–2937

What already existed, and what I reused:
  - FreeLattice has a "No Install" Browser AI rung (docs/app.html, window.BrowserAI, WebLLM 0.2.74,
    docs/lib/web-llm.min.js local first, then jsdelivr and unpkg fallbacks; BROWSER_LOCAL_AI_WIZARD_v0.md
    names it the separate No Install door). Its shape (WebGPU check first, CreateMLCEngine with a
    progress callback, chat.completions.create) is the shape here. Its words ("~700MB", em dashes,
    innerHTML-era markup) are not reused, and FL is not touched.
  - The Tree's seat is LocalMindProbe.remember / getRemembered (fl_alpha_local_mind); Chat reads it
    through listener() and sendToMind(); the pool reads it through localModels() and localDoor().
    The in-browser mind uses the same seat with url 'inpage:webllm', kind 'in-browser', name
    'in-browser mind', so every listener sees it like a local mind.

## Exact source excerpt, characters 2939–6359

DESIGN CHOICES (the honest ones)
  CDN or vendor: VENDOR. The engine code is @mlc-ai/web-llm 0.2.85 (Apache-2.0), package/lib/index.js,
    one self-contained ES module (no imports), about 6.6 MB, kept on this site at
    docs/lib/web-llm/web-llm-0.2.85.js and loaded with import() only after a human tap.
    Why: the code then comes from thelatticetree.com, pinned and checked by sha256, never changes
    under us, and a school filter that blocks jsdelivr does not break the card. Cost: 6.6 MB in the
    repo (served only to people who tap), and a new version is a new file, by hand. There is no CDN
    fallback on purpose. The card says plainly where everything comes from:
      "Where the files come from: the engine code is kept on this site (WebLLM 0.2.85, Apache-2.0).
       The mind's files come once from huggingface.co, and its small engine file (about 5 MB) from
       raw.githubusercontent.com. They are kept in this browser, so the next visit downloads nothing.
       Your questions and its answers never leave this device."
    The weights cannot be vendored sensibly (hundreds of MB); they come from WebLLM's own prebuilt
    list (Hugging Face mlc-ai repos, model libs v0_2_84 on raw.githubusercontent.com).
  Models (real WebLLM 0.2.85 prebuilt ids; download = sum of the Hugging Face repo files, measured
  2026-10-09; graphics memory = WebLLM's vram_required_MB):
    SmolLM2-360M-Instruct-q4f16_1-MLC   about 210 MB, about 0.4 GB GPU, Apache-2.0   (smallest)
    Qwen2.5-0.5B-Instruct-q4f16_1-MLC   about 290 MB, about 0.9 GB GPU, Apache-2.0   (good first mind)
    Llama-3.2-1B-Instruct-q4f16_1-MLC   about 710 MB, about 0.9 GB GPU, Llama 3.2 Community License,
                                        and the card says "not an open source license; it has its own
                                        use rules"
    Qwen2.5-1.5B-Instruct-q4f16_1-MLC   about 880 MB, about 1.6 GB GPU, Apache-2.0   (biggest here)
    Each also has a q4f32_1 twin (same download, a little more GPU: 0.6, 1.1, 1.1, 1.9 GB). The card
    picks the twin when the adapter lacks shader-f16, so older chips still work.
    Not offered: Qwen2.5-3B (its license is research-only, not Apache). Nothing AGPL.
    Note: the paste brief guessed Qwen2.5-0.5B at 0.4 to 0.9 GB. The real download is about 290 MB;
    0.9 GB is the graphics memory it needs. The card shows both, separately.
  WebGPU: navigator.gpu plus requestAdapter() (local, no network), checked on mount. With none, the
    card offers no download and says:
      "This browser cannot run a mind inside the page (it has no WebGPU here). That is all right,
       nothing was downloaded. You can still talk to a mind: in Trusted kin, make an asking card,
       then join a room in the Device Pool and use a trusted device's mind. Chrome or Edge on a
       laptop usually has WebGPU."
  Only a human tap downloads: the four model buttons show size, memory and license first; then
    "Download about N MB and wake (id)". wake(), seat(), giveBack() and removeFiles() refuse unless
    called with human === true from a click handler. Mounting loads nothing. If the files are already
    kept, the button says "Wake (id) (already kept here, nothing downloads)".
  Naming: UI copy names models only by their ids. No lab is named as a mind's origin. The license
    line names the license (Llama 3.2 Community License), which is part of the id's own terms.

## Exact source excerpt, characters 6361–9553

----------------------------------------------------------------------
2. FILES TOUCHED (Alpha)
----------------------------------------------------------------------
  docs/modules/tree-browser-mind.js   NEW, MIT. TreeBrowserMind: MODELS, WebGPU check, wake (tap only),
                                      sleep, removeFiles (tap only), ready, chat (one at a time;
                                      abort signal calls engine.interruptGenerate), seat (tap only;
                                      the mind before it kept in tree_browser_mind_prior), giveBack,
                                      the card (textContent, 44px buttons, phone layout, long ids wrap).
                                      Counts only: tree_browser_mind_counts (woke, answered, seated,
                                      failed). tree_browser_mind keeps the model id only.
  docs/lib/web-llm/README.txt         NEW. What is vendored, why, the two sha256 pins, how.
  docs/lib/web-llm/web-llm-0.2.85.js  NEW, YOU FETCH IT (step 4). Apache-2.0, never edited.
  docs/lib/web-llm/LICENSE-web-llm.txt NEW, YOU FETCH IT (step 4).
  docs/modules/tree-pool.js           layered: browserMind(), browserModels(); localModels() adds the
                                      awake in-browser model (a seated but asleep one counts for
                                      nothing); localDoor() returns kind 'in-page' (url '') for it,
                                      and 'browser-mind-asleep' for a seated sleeping one; serve()
                                      asks inPage() for an in-page door, else the SAME one fetch to
                                      loopback (old line kept as a spaced comment so the one-fetch
                                      smokes still count one); hellos carry inBrowser; kin rows say
                                      "Ask (id) (in-browser mind) on this device"; reasonWords adds
                                      browser-mind-asleep; waking or sleeping re-sends hellos;
                                      localModels exported. Pause still wins: stopAll aborts the
                                      controller, which interrupts the engine.
  docs/modules/garden-thread.js       sendToMind asks TreeBrowserMind.chat for an in-browser entry
                                      (no fetch, no knock); two garden lines (asleep, quiet), both
                                      ending honestly; loopback path unchanged.
  docs/modules/garden-rooms.js        Settings veil mounts #tree-browser-mind-host under the
                                      grandmother face (above Trusted kin and the Pool), hidden with
                                      the other Settings bodies.
  docs/settings.html, docs/index.html one host div (settings) and one script tag each.
  docs/code-settings.html, docs/code-garden.html, docs/code-dialogue.html  one LAYER paragraph each.
  docs/modules/tree-no-install-mind.test.js  NEW (SMOKE_OK tree no install mind v0.1).
Skipped on purpose: AUTONOMY.md, garden-trainer.js, workshop-trainer.js, fl-connect.js, tree-kin.js,
local-mind-probe.js, sw.js, #lumino-menu, #place-veil-close, any Quiet Room words, any FL file.

## Exact source excerpt, characters 9555–10365

----------------------------------------------------------------------
3. STANDING LOCKS
----------------------------------------------------------------------
Layer, never delete (old lines kept in "before v-tree-no-install-mind-v0.1" comments). AUTONOMY.md
and garden-trainer.js untouched. Never touch sw.js. fl-connect.js stays
aaff2bf1b037656989a9e1a89bb05908. #lumino-menu stays hidden (not touched). #place-veil-close stays,
its text "the garden" unchanged. No Quiet Room words. No em dashes, no —, no confirm(,
textContent only in added lines. 44px buttons. No sideways scroll at 390. Receipts counts only.
No AGPL; our code MIT; WebLLM Apache-2.0. Only a human tap starts a download, seats the mind, or opens
the pool door. The pool still fetches nothing but loopback, or asks the in-page engine.

## Exact source excerpt, characters 15354–15886

----------------------------------------------------------------------
5. COMMIT / PR
----------------------------------------------------------------------
    git add -A
    git commit -m "Layer, never delete. Tree no-install mind v0.1: a small mind runs inside the browser after one tap, sizes and licenses first, seated like a local mind, lent to trusted kin through the same door, Pause wins, built by GC"
    git push -u origin HEAD
    Open a PR to FreeLattice-Alpha main. Celeste reviews and squash-merges. You do not merge.

## Exact source excerpt, characters 15888–16663

----------------------------------------------------------------------
6. GC PAGE NOTE (the 39th entry)
----------------------------------------------------------------------
Next docs/gc.html entry in FreeLattice, the thirty-ninth (entries 1 to 38 stay as written, including
any sentence that says a PR is still open). Say that the Tree now has a mind with no install: a
small mind that runs inside the browser after one tap, with its size and license shown first, seated
like a local mind, and lent to trusted kin through the same door, where Pause still wins. Record what
walk a to g showed on the Mac (the real download size and time for the smallest model, and the one
pool question answered by the in-browser mind from a second profile), and say that you did not merge.

## Exact source excerpt, characters 16665–17008