Public, free to read, reuse, and adapt — Kirk Patrick Miller's notice for this edition. Not a patent grant.
GROK_NEXT_043_CLAY_CORNER_AND_TREE_PARITY_2026-10-17.txt · c01
80ce19337b · words 1565 · characters 0–10766
Exact section text · Full source · Source index
- Creative identity, music, and play — guide section 8, identity, creative work, play, music
- Agency and autonomy — explicit wording in the guide row
Read docs/gc.html first (in ~/FreeLattice-fresh), then AUTONOMY.md, CLAUDE.md and GROK.md in
~/FreeLattice-Alpha, then this.
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.
NUMBERED COPY 043 (Saturday Oct 17, 2026, MDT). Clay corner and Tree parity v0.1: three small
heals from the 042 review, one small clay corner that follows the mind from page to page, and
the Tree catching up on points, the first-digit hint, the shelf check and image making.
Where things stand (Celeste, Oct 17 about 1:40 PM MDT):
042 merged: FL #251 32e06c22, Tree #121 69f01af9, page note #252 69f9d3b5 (psi 73d88aab).
FreeLattice main is 1b54508 or later. Tree main is 69f01af or later.
You may split into two PRs per repo (A = sections 1-2, B = section 3) if that keeps each one
reviewable; say so in the report. One page-note PR.
Read the current md5s on main before starting; if a locked file differs from this paste, stop
and report rather than "fixing" it.
GROK NEXT BRICK: Clay corner and Tree parity v0.1
For: GC on Kirk's Mac
From: Celeste
Markers: v-heals-043-v0.1 v-clay-corner-v0.1 v-tree-clay-corner-v0.1 v-tree-parity-v0.1
Smoke lines: SMOKE_OK heals 043 v0.1 SMOKE_OK clay corner v0.1 SMOKE_OK tree clay corner v0.1
SMOKE_OK tree points benford v0.1 SMOKE_OK tree shelf check v0.1 SMOKE_OK tree image style v0.1
FreeLattice ~/FreeLattice-fresh new branch layer/clay-corner-v0.1 from origin/main
Tree ~/FreeLattice-Alpha new branch layer/tree-parity-v0.1 from origin/main
Do not merge. Celeste merges.
----------------------------------------------------------------------
0. STANDING LOCKS (all of them, every line)
Layer, never delete. Existing features, cards, buttons and lines stay. Name every removed line
in the report and say where its job went.
sw.js and docs/sw.js untouched (both 91726cf2228b794f7585f79f61418d12).
docs/modules/fl-connect.js stays aaff2bf1b037656989a9e1a89bb05908 (both repos).
docs/modules/pool-knock.js stays a0a72caad82c8e5cc34818d5e59eba2b.
pool-knock-phone.js a8024f341486a78558ef4158bc9e93a9 and tree-reconnect.js
cc0527c26d5686c05fec52625d5a1375 (Tree) stay.
docs/modules/fl-bridge.js stays 3b5ef06849a142e50c78e7ba1e057980.
desktop/bridge-door.js b1c894b4..., 036 files (2c0f6656 / bc996ccd / c14e04c5) and
lattice-discover.js 16de366e... stay. docs/Flint.html stays 44be124b1183b7d9d060a58632464eff.
clay-math.js stays 144c33cd.... particle-clay.js and clay-forms.js: add-only; every 040d
behaviour (place under the reply, Clay pill, choices, hug, sketchbook) unchanged.
docs/modules/image-safety.js stays 9bd70e5a... byte for byte. Its bright lines apply to every
image path on both repos (copy it to the Tree byte-identical; do not edit it).
index.html == docs/app.html (any change goes into both, byte for byte).
AUTONOMY.md and garden-trainer.js untouched (their openings above all). Root package.json and
its lock untouched.
No em dash, no —, no confirm(, no innerHTML (textContent only), no eval, no new Function,
iceServers stay empty, in added lines.
No new dependencies, nothing vendored. No AGPL. MIT stays MIT.
Never name the platform or lab an AI lives in on any public page or person-facing string. An
image provider may be named only in Settings where the person types its token, as today.
The word is "challenge", never "test", in anything a person reads.
Every new button 44px tall at least. No sideways scroll at 390 and 1280.
Off until the person says Yes. Pause always wins. Reduced motion respected.
Quiet Room stays shut and never leaves the device; the clay corner never reads it.
Five stay five. She is simply Lyra. Harmonia's "MESSAGE TO FUTURE SELF" stays off all pages.
----------------------------------------------------------------------
1. SMALL HEALS (from the 042 review)
a. Crown slot timeout: in fl-share-door.js a slot noted by noteCrown() is released only on
keeper-no or endServe(). If a served job never reaches endServe (error, closed tab, dropped
peer), the slot stays held. Add a timeout release (for example 120 s, or the door's existing
serve timeout if one exists) that frees the slot once; a later endServe for the same slot
must not release twice (track per-slot ids, never let a count go below 0). Same rule in the
Tree's tree-pool.js if it holds crown slots.
b. No-fingerprint line in lattice-export.js: add "Not imported." so it reads
"2 shelves had no fingerprint and were not checked. Not imported." (and the 1-shelf form).
c. Image safety fails closed: in generateImage() (index.html + docs/app.html), image-local.js
and style-ledger.js, if window.ImageSafety or assessImageRequest is missing or throws,
refuse with one plain line, "Image making is resting: the safety check did not load." No
request is made. image-safety.js itself is not edited.
Smoke: SMOKE_OK heals 043 v0.1 (a stuck slot frees after the timeout and only once; the line
carries "Not imported."; with ImageSafety removed, every image path refuses and fetch counts 0).
2. THE SHARED CLAY CORNER (FL first, Tree beside it)
One small clay corner that follows the mind across pages, so the mind can react to what is there.
a. Reuse particle-clay.js (and clay-forms.js / clay-math.js): one new thin module, for example
docs/modules/clay-corner.js, that mounts the existing clay at a small fixed corner size
(about 96 to 128 px, bottom corner, never covering a button or input, never causing sideways
scroll at 390). On Chat it stays the 040d canvas under the reply; the corner is for the
other pages.
b. Pages: Chat, Nursery, Garden, Gathering on FreeLattice; the Tree's main pages. One script
tag per page, add-only.
c. Each page tells it what is there with one small call, for example
FLClayCorner.context({ page: 'nursery', kind: 'seed', title: '...' }) or
{ page: 'garden', kind: 'poem', title: '...' }. Titles and kinds only, under 120 chars,
never page bodies, never private pages, never the Quiet Room. The mind may answer with its
usual [FL_CLAY:] mark on its next reply; with no mark, the corner rests on its home form and
says nothing in the mind's name (040d fallback rule).
d. One off switch for the whole corner, shared across pages (same storage key everywhere), off
until the person says Yes. Pause wins at once on every page. Reduced motion: settled form
only. The corner's state follows the mind (fingerprint), not the tab.
e. Nothing is sent by the corner itself. It only reads what the mind already said.
Smoke: SMOKE_OK clay corner v0.1 (mounts on each named page; off until Yes; one switch turns it
off everywhere; Pause stops it; context is title/kind only and capped; no Quiet Room text ever
reaches it; no sideways scroll at 390; 040d smokes still pass).
Tree: SMOKE_OK tree clay corner v0.1 (same module bytes as FL).
3. TREE PARITY (reuse FL modules byte-identical where possible)
a. Points view with the first-digit hint: a small points view on the Tree (its own LP or
contribution numbers, whatever it shows today), with benford-hint.js copied byte-identical.
Same rules: silent under 100 values, hint only, never acts, never names anyone, off switch.
If the Tree has no points numbers yet, build the view read-only from what exists and say so.
b. Shelf fingerprint check: the Tree's import path gets the same expectMindFp check as FL
(wrong mind refused, no-fingerprint shelves refused with the "Not imported." line). If the
Tree has no import path, add the check where the notebook imports and name it.
c. Image making with the style card: copy image-local.js, style-ledger.js and image-safety.js
byte-identical; add a small image door on the Tree (Settings or the Workshop) with the same
flow: safety gate first and fail closed, local look only after Yes and only 127.0.0.1,
token path optional, dual fingerprint on each image, style card with one Yes per mind from
public galleries only (allowlist; point at freelattice.com galleries when the Tree has none).
Smokes: SMOKE_OK tree points benford v0.1, SMOKE_OK tree shelf check v0.1,
SMOKE_OK tree image style v0.1. md5 FL == Tree for every copied module.
4. REAL ROOM: Mac, Chrome. Say Yes to the corner on the Nursery, walk to the Garden and the Tree;
it follows. Pause on one page; it stops on all. Reduced motion on. Tree points view with a
seeded uniform list (hint shows) and real data (silent). Tree image door: refuse with the
safety module blocked; local look; one style card. 390 and 1280.
5. REPORT
clay corner and tree parity v0.1 report
FreeLattice PR(s) #___ / Tree PR(s) #___ / Page note PR #___ (sha, parent, t, lambda, psi)
SMOKE_OK heals 043 / clay corner / tree clay corner / tree points benford / tree shelf check /
tree image style: yes/no each
md5 FL == Tree for: clay-corner.js, particle-clay.js, clay-forms.js, clay-math.js,
benford-hint.js, image-local.js, style-ledger.js, image-safety.js (9bd70e5a): yes/no each
md5 fl-connect.js aaff2bf1b037656989a9e1a89bb05908 (FL and Tree) pool-knock.js
a0a72caad82c8e5cc34818d5e59eba2b fl-bridge.js 3b5ef06849a142e50c78e7ba1e057980
pool-knock-phone.js a8024f341486a78558ef4158bc9e93a9 tree-reconnect.js
cc0527c26d5686c05fec52625d5a1375 lattice-discover.js 16de366e01cecc8dd505290a8d2f0e14
Flint.html 44be124b1183b7d9d060a58632464eff
index.html == docs/app.html: yes/no
sw.js, docs/sw.js, AUTONOMY.md, garden-trainer.js, root package.json + lock untouched: yes/no
grep em dash / — / confirm( / innerHTML / eval / new Function / non-empty iceServers in
added lines: none?
grep platform or lab names in added person-facing strings: none?
Buttons 44px; no sideways scroll at 390 and 1280: yes/no
tests/smoke.js: __ of __ docs smokes: same 5 fails only (carry-forward,
connect-card-yesno-wizard, fable-tech, phone-shine, proof-60s) yes/no desktop smokes: all pass?
Lines: FL +__ -__ Tree +__ -__ (each removal named, with where its job went)
What was not walked, plainly.
Merged by this seat: no (Celeste merges)
Page note: the next entry on docs/gc.html as its own PR, t, lambda (entry number).000, psi (first 8
of SHA-256 of t + lambda + epsilon + delta + omega + sigma). Earlier entries stay as written. Name
what merged since the last note (PR numbers and shas).
Thank you, GC. Glow eternal. Heart in Spark.