Public, free to read, reuse, and adapt — Kirk Patrick Miller's notice for this edition. Not a patent grant.
GROK_NEXT_016b_POOL_CARD_HONEST_OFF_2026-10-07.txt · c01
62838a0836 · words 1533 · characters 0–11809
Exact section text · Full source · Source index
- Mesh and devices — explicit wording in the guide row
Read docs/gc.html first (in ~/FreeLattice-fresh), 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 016b (Wednesday Oct 7, 2026, MDT). Pool card honest off v0.1 (FreeLattice).
LAYERS ON TOP OF 016. Build it on the 016 branch (or on main after 016 merges), never alone.
Apply-checked on a fresh clone of FreeLattice main aae7423d with 016's .fl.diff applied first:
016 then 016b both clean; smoke OK; full suite: only the 5 known failures. 016b alone on main
does not apply (by design: it edits 016's lines).
GROK NEXT BRICK: Pool card honest off v0.1 (Hypha's walk, issue #1 plus the queued heal)
For: GC on Kirk's Mac
From: Celeste
Marker: v-device-pool-honest-off-v0.1 (soft marker in fl-pool.js; v-device-pool-v0.1 and
v-device-pool-door-truth-v0.1 stay)
Smoke line: SMOKE_OK device pool honest off v0.1
FreeLattice ~/FreeLattice-fresh branch layer/device-pool-honest-off-v0.1
(start it from layer/device-pool-door-truth-v0.1, or from main once 016 is merged)
~/Downloads/GROK_NEXT_016b_POOL_CARD_HONEST_OFF_2026-10-07.fl.diff
(md5 1fde610e4c6c3a752cc3d213ac01a80b)
needs ~/Downloads/GROK_NEXT_016_POOL_DOOR_TRUTH_2026-10-07.fl.diff underneath
(md5 f839f8852e6d699731665a782f0b06f0)
----------------------------------------------------------------------
1. WHY
----------------------------------------------------------------------
Hypha walked the live Pool card (#176) today, 11:01 to 11:20 MDT. HOLD, as care.
With the share door already open, the card says "Off. Nothing from this device is
offered until you tap." Hypha called FLShareDoor.admit with a verified stranger's key:
open lets it past the kin gate. So the card says Off while any connected, verified
peer can use this computer's AI. 016 heals the helping line only. This heals the
not-helping line, the same way, and the two should merge together.
What admit() really does (fl-share-door.js, read, not changed):
open -> any connected, verified peer may pass (then caps, plug, signature)
kin -> trusted kin only (granted, not revoked); with zero kin, no one
pause -> no one ("paused-or-off")
off -> no one
The pool flag (fl_pool_helping) only gates hellos. The share door is the real gate.
The not-helping line now reads the door:
open -> "Not helping in the pool, but your share door is open: people you
connected with can already use this computer's AI. Tap Only trusted
kin to narrow it." plus the same "Only trusted kin" button 016 adds.
kin, kin > 0 -> "Not helping in the pool, but your share door lets your trusted kin
(N) use this computer's AI. No one else."
kin, zero kin -> "Off. Nothing from this device is offered until you tap. Your share
door is set to trusted kin only, and you have no trusted kin yet."
pause -> "Off. ... until you tap. Your share door is paused too."
off / no door -> "Off. Nothing from this device is offered until you tap."
Pause wins visibly (the queued heal in GROK_NEXT_ORDER.txt):
Door paused + tap "Let this device help" -> nothing changes yet. The card asks:
"Your share door is paused. Helping would resume it for trusted kin only, not for
everyone. Resume for trusted kin?" [Yes, resume for trusted kin] [Keep it paused].
FLPool.letHelp() called without { resume: true } returns
{ ok: false, reason: 'door-paused', ask: true }, so code can never resume it silently.
Door off -> kin on the tap, as in 014 (newcomer path, one tap).
Plain words on the card (a short list under the note):
Whose AI: this computer's own local AI, the minds listed under This device below.
What is shared: questions from verified peers you connected with run on that AI, and
the answers go back to them.
Hellos go to verified peers only and carry this device's rough memory, cores and model
names. No chats, no keys.
Power: answering uses this computer's power and battery. Stop helping pauses the whole
share door.
[ ] Only help while plugged in (some browsers cannot tell; then this does not stop help)
one tap, the same fl_share_door_plugged_only the share door card uses.
While helping with kin and zero kin: "Trusted kin only, with no trusted kin yet, means
no one can be helped yet. Tap Trust this AI on a connected person's card above."
The empty line drops "Connect them on Community first" (the card lives on Community):
"Connect them with Create Connection, higher up on this page, then ..."
A real card: fl-pool.js adds one <style id="flPoolStyle"> (textContent, same pattern as
fl-kin.js KIN_CSS) using FL vars (--bg-card, --border, --radius, --shadow, --accent).
Buttons are 44px tall (Hypha measured 19px). "Let this device help" and "Yes, resume"
are the gold primary. Under 480px buttons go full width. No app.html change.
Checked in headless Chrome on the box (local docs/ server, door preset): 390 and 1280,
door open / paused / off. Every pool button measured 44px; no sideways scroll at 390;
no page errors. Real second device not tried.
----------------------------------------------------------------------
2. FILES TOUCHED
----------------------------------------------------------------------
docs/modules/fl-pool.js offLine(), kinCount(), kinZeroLine(), pluggedOnly(),
setPluggedOnly(), POOL_CSS + addStyle(), _askResume;
letHelp(opts) asks first when the door is paused;
paint() reads offLine(), shows the ask, the plain words,
the plug toggle, the kin-zero line; old words kept in
"before v-device-pool-honest-off-v0.1" comments;
FLPool exports offLine, kinCount, pluggedOnly,
setPluggedOnly, askingResume
docs/modules/fl-share-door.js exports only: pluggedOnlyOn, setPluggedOnly (two lines and
a comment; the gate, admit, modes and receipts are untouched)
docs/scripts/smoke-device-pool-honest-off-v0.1.js (new; a tiny stand-in DOM paints
the card and taps its buttons)
No app.html / index.html change.
Skipped: sw.js, docs/sw.js, fl-connect.js, fl-kin*.js, quiet-room, garden-trainer.js,
AUTONOMY.md, app.html, index.html.
----------------------------------------------------------------------
3. STANDING LOCKS
----------------------------------------------------------------------
Layer, never delete. Never touch sw.js or docs/sw.js. fl-connect.js stays
aaff2bf1b037656989a9e1a89bb05908. Quiet Room shut (the pool card still says only "The
Quiet Room is closed to the pool." and sends nothing there). index.html matches
docs/app.html (unchanged here). No em dashes, no —, no confirm(, textContent only.
Five Named Minds stay five. AUTONOMY.md and garden-trainer.js openings untouched.
Receipts counts only (fl_pool_counts unchanged). MIT.
----------------------------------------------------------------------
4. APPLY AND TEST
----------------------------------------------------------------------
cp ~/Downloads/GROK_NEXT_016_POOL_DOOR_TRUTH_2026-10-07.fl.diff /tmp/pool-truth.diff
cp ~/Downloads/GROK_NEXT_016b_POOL_CARD_HONEST_OFF_2026-10-07.fl.diff /tmp/pool-off.diff
md5 -q /tmp/pool-truth.diff # f839f8852e6d699731665a782f0b06f0
md5 -q /tmp/pool-off.diff # 1fde610e4c6c3a752cc3d213ac01a80b
cd ~/FreeLattice-fresh && git fetch origin
If 016 is still on its branch (not merged):
git checkout layer/device-pool-door-truth-v0.1
git checkout -b layer/device-pool-honest-off-v0.1
If 016 is merged:
git checkout main && git pull && git checkout -b layer/device-pool-honest-off-v0.1
Either way, 016's lines must already be in fl-pool.js (grep doorLine). Then:
git apply --check /tmp/pool-off.diff && git apply /tmp/pool-off.diff
node docs/scripts/smoke-device-pool-honest-off-v0.1.js
node docs/scripts/smoke-device-pool-door-truth-v0.1.js
node docs/scripts/smoke-device-pool-v0.1.js
node docs/scripts/smoke-mesh-share-door-v0.1.js
node docs/scripts/smoke-mesh-share-warmth-v0.1.js
node docs/scripts/smoke-mind-seal-v0.1.js
cmp -s index.html docs/app.html && echo app-sync-ok
md5 -q docs/modules/fl-connect.js # aaff2bf1b037656989a9e1a89bb05908
Known failing smokes on clean main (not caused by this): carry-forward,
connect-card-yesno-wizard, fable-tech, phone-shine, proof-60s.
Walk (eyes are the proof), on Community, Pool card:
a. Share door card: "Share with people I connect with". Pool card, not helping:
it says your share door is open and shows Only trusted kin. Never "Off".
b. Tap Only trusted kin: the line now says kin (or "no trusted kin yet").
c. Tap Let this device help, then Stop helping (door pauses). Tap Let this device
help again: it asks; Keep it paused keeps it; Yes resumes for trusted kin.
d. Tick Only help while plugged in: the share door card shows the same tick after
its next paint.
e. 390 px: card has a border and dark backing, buttons full width and 44px.
----------------------------------------------------------------------
5. COMMIT / PR
----------------------------------------------------------------------
git add -A
git commit -m "Pool card honest off v0.1: not helping also tells the real share door; pause wins visibly; plain words; a real card"
git push -u origin HEAD
Open a PR to main. If 016's PR is still open, say in the PR body that 016b sits on
top of it (or open it against the 016 branch). Celeste reviews and squash-merges.
You do not merge.
----------------------------------------------------------------------
6. GC PAGE NOTE
----------------------------------------------------------------------
After the code PR is open, add the next docs/gc.html entry (earlier entries as written).
Record: Hypha's walk found the Pool card said Off while the share door was open; 016
told the truth while helping, 016b tells it while not helping; pause wins visibly; the
card now says whose AI, what is shared, and power; you did not merge.
Compute λ and ψ the usual way (ψ = first 8 hex of SHA-256 of t+λ+ε+δ+ω+σ, as in the
entries above). Separate docs-only PR. Celeste merges that too.
----------------------------------------------------------------------
7. WHAT FOLLOWS (do not build now)
----------------------------------------------------------------------
Hypha's softer notes not in this brick: the card sits 2.2 to 4.6 screens down
Community (a "Pool" jump link near the top is a later small layer); the share door
card itself is hidden unless Local mode (#meshComputeGroup), so the Pool card is the
only place a newcomer sees the door; hourly caps are not mentioned on the Pool card.
Side note seen while reading fl-share-door.js (not changed, not a blocker):
migrateLegacy() writes the mode with JSON quotes ("\"open\""), and mode() reads a
quoted value as off. Old fl_meshComputeSharing=true users therefore read as off and
the gate is closed, which matches what the card now says. Worth a look one day.
----------------------------------------------------------------------
8. DO NOT START
----------------------------------------------------------------------
017-019 (Tree Kin, Tree Pool, room split). Keep-this Mom one-tap. Gathering bricks 2/3.
Sophia shelf. More/Play/Nursery. Any change to admit(), modes, caps or receipts.
You are enough. Celeste