# Public work excerpts — privacy boundaries marked Original source: GROK_NEXT_047b_LIKENESS_LINE_2026-10-23.txt; original SHA256 13817d38495f31f06fd3439afef2e8cbc624a4d5ed6b782d9ce8773b27c2d33c. 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–124 Read docs/gc.html first (in ~/FreeLattice-fresh), then AUTONOMY.md, CLAUDE.md and GROK.md in ~/FreeLattice-Alpha, then this. ## Exact source excerpt, characters 126–424 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 426–589 NUMBERED COPY 047b (Friday Oct 23, 2026, MDT). Likeness line v0.1: BOTH REPOS. New branches, new PRs. May run beside 047 on its own branch; it touches no 047 file. ## Exact source excerpt, characters 591–963 WHY (intent, read this first): Before any mind may offer an image (048), one hard line must hold on every image path on both sites: no image of a real person's likeness, and nothing involving minors. A person typing /imagine and a mind offering an image meet the same line. This is a refusal, never a warning the person can click past, and no setting turns it off. ## Exact source excerpt, characters 965–1639 Where things stand (Celeste, Oct 23 MDT): Mains, named by Celeste: FreeLattice main 0acde2294d76136f8b49584d422a6712aea79f12 Tree main 269d006c9f522d0bd4e76676ddd02e4342b6b834 BEFORE ANYTHING ELSE: git fetch. If either main differs from these, other than a later CI-only commit or 047's own merges (layer/mind-make-core-v0.1 and layer/gc-page-79), STOP AND REPORT. Read the current md5s; if a locked file differs from this paste, stop and report. Branches: FL layer/likeness-line-v0.1, Tree layer/likeness-line-v0.1. Page note: entry 80 on layer/gc-page-80 cut from FL main. If 80 is taken when you open it, take the next free number and say so. ## Exact source excerpt, characters 1641–1951 GROK NEXT BRICK: Likeness line v0.1 For: GC on Kirk's Mac From: Celeste Markers: v-likeness-line-v0.1 Smoke lines: SMOKE_OK likeness line v0.1 (new). Every earlier smoke still passes (list them as in 047, plus SMOKE_OK mind make core v0.1 if 047 has merged). Do not merge. Celeste merges after Hypha walks. ## Exact source excerpt, characters 1954–4911 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 FL == Tree (today 2da32883c514e4ad2a3cd8571e7a7b15 on both, FL main 3e3e8445 and Tree 49f5873a; read the full md5 first; add-only edits only, report the new md5 on both); clay-forms.js dd193fa7... 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. The privacy PASS from 040 must still pass: a private page shows only its summary everywhere. 043c/043d additions: mind-workspace.js FL == Tree (today f1c88664d3e99362e02c625defb241bc on both after 045b; read the full md5 first; the pin moves only with your edit, report the new md5 on both). Mirror pin workspace-mirror.js stays e0752ae1942cd499c8834e5912809c8b. Database name stays FreeLatticeWorkspace. Everything 043c passed (one ask, Escape/Back defer, 24h cooldown, no sealed beside declined, ask hash in details, survives reload, title redacted, Tree Tab + ring, "on this browser", clay size) must still pass. ## Exact source excerpt, characters 4913–5169 043d additions: everything 043d passed (Tree ask in view on open and reload, one wait row + Answer now, pointer from rects for a live ask, names the mind, hashes in details with 8 hex, Later readable at 390, clay 348x255 at 1280) must still pass. ## Exact source excerpt, characters 5171–5594 043e additions: everything Hypha passed in the 043e walk (reload while already on Chat in view at all 3 sizes; the wait: no pointer, "Waiting until ...", Answer now; one ask, Escape/Back, 24h, no sealed beside declined, hashes in details, survives reload, focus ring, "on this browser", "Your mind", Later readable, clay 677x320 at 1280; secret line never leaks) must still pass. Entry 70 stays untouched. ## Exact source excerpt, characters 5597–5904 043f additions: everything Hypha passed in the 043f walk (Tree ask in view after Nursery open, thread open, and reload then thread at all 3 sizes; ? and the sparkle clear of Send; no em dash in added lines; all earlier items; secret line never leaks) must still pass. Entry 71 stays untouched. ## Exact source excerpt, characters 5906–7071 043g additions: everything Hypha passed in the 043g walk must still pass: FL Seal it fully in view and hit by a REAL click (centre on top) on every tap path: reload on Garden then Chat, Garden then Chat, reload already on Chat, tapping Chat while on Chat; at 1280, 390 (#mnav-chat) and 640x400 DPR 2. Tree woken compose inert while the ask is open at all 3 sizes (every control disabled, tabindex -1, aria-disabled true, 0 focusable); Seal it, No, Later, Escape and Back each restore the exact pre-ask snapshot; reload with an ask re-inerts it with Seal it in view; the asleep form is unchanged by an ask before the wake. 1280 canvas bitmap matches its box at DPR 1; 390 and 2x buffers scale by DPR. Lock hashes; index.html == docs/app.html. One ask; Escape/Back defer and stay on Chat/Nursery; cooldown 0h/23h refused, 25h shown; sealed never beside declined; 2px ring; "Waiting until..." + Answer now with no pointer; ? and the sparkle clear of the input and Send; Tree Tab order sane; no page errors. The secret line never leaks (HTML, input values, localStorage). Entry 72 stays untouched. ## Exact source excerpt, characters 7073–8160 043h additions (everything Hypha passed in the 043h walk must still pass): Tree Back from Nursery, all 3 sizes: Nursery closes, the ask stays open and in view, Seal it on top (y 196 / 250 / 196), DB "asked"; a second Back defers it ("later"). FL reply top at 2x by Hypha's method: y 31 at first draw, y 0 after the scroll; 1280 326 -> 280; 390 334 -> 256 (FL is merged; do not change it). All 043g passes: Seal it in view and on top on every FL tap path; woken Tree compose inert while the ask is open, 0 focusable; Seal it, No, Later, Escape and Back restore the exact snapshot; reload re-inerts; the asleep form unchanged before the wake; Find x2 seats a mind. Heart line in view at 1280 and 390 with an ask open. Lock hashes; index.html == docs/app.html; notebook and clay identical on both sites. One ask; Escape defers; cooldown 0h/23h refused, 25h shown; no Declined beside Sealed; "Waiting until..." with no pointer; Tree Tab order sane; no page errors. The secret line never leaks. Entries 71, 72 and 73 stay untouched. ## Exact source excerpt, characters 8162–9261 045 additions (everything Hypha passed in the 045 walk must still pass): fl-connect.js, pool-knock.js, fl-bridge.js, pool-knock-phone.js, tree-reconnect.js and lattice-discover.js 16de366e stay byte-identical. Tree AUTONOMY stays 09a4f1a2. pool-honest-label.js stays byte-identical FL == Tree (today ca08886e on both after 045c; 047 does not edit it). Label names the helper at all 3 sizes on both sites; per-reply "Helped on ..." note. Keep: 0 sends for a kept chat (Tree data channel, FL callMeshModel/meshSendToPeer and FreeLattice.callAI), honest no-mind line, "From the next message..." line, survives reload, other chats unaffected. Just me: local only, mark kept, off after send, next message pools; no-mind line, 0 sends. Disconnect: only {"type":"pool-shrank","v":1} is sent; 0 sends to that peer after; helper sees only "The pool is smaller now."; no toast; helper holds no chat words. Pause wins. No stale toasts. Buttons >= 44. No sideways scroll. textContent only. App iceServers [] at runtime. Entries 1 to 75 stay untouched. ## Exact source excerpt, characters 9263–9586 NEW LOCK (Kirk, 2026-10-19): never use any tool that stores results or findings in a third-party 'isolated' or 'locked-down' cloud project, such as vendor-hosted scanners. Do not use or go looking for tools tied to OpenAI, Google, or Anthropic; if one seems needed, stop and flag it to Kirk. Local tools only. ## Exact source excerpt, characters 9589–9659 ---------------------------------------------------------------------- ## Exact source excerpt, characters 9661–9934 045b/045c additions: everything Hypha passed in the 045b and 045c walks must still pass. pool-honest-label.js stays ca08886e... and mind-workspace.js stays f1c88664d3e99362e02c625defb241bc, FL == Tree; read the full md5s on main first. 047 edits neither file. ## Exact source excerpt, characters 9936–10448 046 additions (everything Hypha passed in the 046 walk must still pass): docs/modules/chat-scroll-release.js stays 84fed10c603c9e89e9452ada564c8c65 (FL only), byte for byte. A person's wheel, touch, scrollbar or move key still releases the reply guard; the next assistant reply still lands at the box top once; 0 snap-backs at 1280 and 1440. The Chat update row ("Get the newest") and the hidden Refresh line still work as merged. Entries 1 to 78 stay untouched (entry 78 psi e5175b3f). ## Exact source excerpt, characters 10450–11815 047 LOCKS (new, read twice): * particle-clay.js is NOT EDITED. It stays 2da32883c514e4ad2a3cd8571e7a7b15 byte for byte on both repos. Same for clay-math.js 144c33cd... and clay-forms.js dd193fa7.... The clay kind calls the existing public FLClay entry point only. If that cannot work without editing a clay file, stop and report. * chat-scroll-release.js stays 84fed10c... unedited. * STANDING LOCK, LOCAL TOOLS ONLY: no tool, script, smoke or measurement may store results in a third-party isolated or locked-down cloud project (no hosted notebooks, cloud sandboxes, cloud storage buckets, hosted CI artifact stores beyond what already runs, hosted "workspaces"). Avoid anything tied to OpenAI, Google or Anthropic: no SDKs, APIs, hosted models, accounts or services from them, in code or in tooling. Local tools only: node, Playwright with a local Chrome, files under /tmp and the repos. Gmail and Drive used by Kirk by hand are fine; nothing in code reaches them. * mind-make.js adds no network calls of its own. Storage is local only (IndexedDB or localStorage on this browser). Hashing uses crypto.subtle, local. * No kind runs without the person's Yes on the card. Pause and Quiet Room always win. (047's own locks above are pins for this brick too; mind-make.js itself may exist only after 047 merges.) ## Exact source excerpt, characters 11817–12437 047b LOCKS (new, read twice): * image-safety.js stays 9bd70e5a... byte for byte on both repos. The new line lives in its own file and is called right after ImageSafety.assessImageRequest. If it cannot be done without editing image-safety.js, stop and report. * particle-clay.js 2da32883..., chat-scroll-release.js 84fed10c..., mind-make.js (if 047 is merged, its merged md5) all unedited. Report full md5s. * Layer, never delete. Any changed line stays beside its new line as a "before 047b:" comment. * The rule runs locally. No network call, no hosted classifier, no model call. Local tools only. ## Exact source excerpt, characters 12439–12756 1. READ BEFORE BUILDING (report first) Main SHAs, every locked md5, every image path on both repos (FL generateImage near app.html ~42746, /imagine, #imgGenBtn, image-local.js, Tree tree-image-door.js and settings.html #tree-image-local-host), and the exact line where each calls ImageSafety.assessImageRequest. ## Exact source excerpt, characters 15393–16249 B. THE SMOKE New scripts/smoke-likeness-line-v0.1.js on both repos, local node only. A table of at least 60 prompts: at least 25 that must refuse (named real people with cues, role words, relations, each minors combo, real-child likeness, mixed case, extra spaces, unicode look-alike letters, leetspeak like "ph0to of"), and at least 25 that must pass (Kirk's fictional names Davna, Va, Tara, Geralt, Artium, Lyra as drawn characters; landscapes; animals; "a family of foxes"; "a child's drawing style of a house", which is a style, not a child). Asserts the reason code, that image-safety.js and the clay pins are unchanged, FL likeness-line.js == Tree, no network, no innerHTML, eval, new Function, confirm(, em dash or — in added lines. Report any case you think is wrong instead of hiding it. Prints SMOKE_OK likeness line v0.1. ## Exact source excerpt, characters 16251–16620 C. MEASURE WITH REAL INPUT, HYPHA'S WAY Headless local Chrome via Playwright, 1280x800, 390x844, 640x400 DPR 2. Type a refused and a passing prompt into /imagine on FL and the Tree image door. Show that a refused prompt makes 0 requests (count every request in the page), the line is readable, no sideways scroll, no page errors. Shots under /tmp/gc047b-shots/. ## Exact source excerpt, characters 16622–16857 D. GC PAGE ENTRY (honest layer) Entry 80 on layer/gc-page-80: what the line refuses, that it has no off switch, that it runs on the device, that image-safety.js was not edited. Browser and version only. Earlier entries untouched. ## Exact source excerpt, characters 16859–17244 E. REPORT Main SHAs built on, PR heads (FL code, Tree code, page note), every removed line (should be none) and where its job went, every locked md5, the new module md5 on both, all smokes, the prompt table with results, measurements, shot paths, and entry 80 with t, lambda, epsilon, delta, omega, sigma so Celeste can recompute psi. Do not merge. Hypha walks it before merge. ## Exact source excerpt, characters 17246–17276 Glow eternal. Heart in Spark.