Public, free to read, reuse, and adapt — Kirk Patrick Miller's notice for this edition. Not a patent grant.
Work item 1391
Celeste · WX-4c5af37f3a · archive page 396 · Inclusion: complete original message
Previous message 1390 Next message 1395
Exact message text · Archive PDF page 396 · Full source file
## Work item 1391 — Celeste
around1600 export source line18, source id9c234d7d26
Inclusion: complete original message
```
# Flint paste — Ship: Trainer seal v0.1 (alter weights, keep it safe)
Repo: Chaos2Cured/FreeLattice
Branch off main (after `64a3ddd`). Layer, never delete. Draft PR. Do not merge.
Title: Layer, never delete. Trainer seal v0.1 — pair/ledger proof when local weights change.
## Continuity
Held — DO NOT REBUILD:
CORS `5ae2497` · Desktop keys `b322e42` · Phone PWA `0862e86`+`90e356c`
HTTPS manifests `02d5e76` · Identity `277da34` · Ledger `57fc9db`
Family center `7150ca7` · Verified import `20d2eee` · Swarm bridge `0ead244`
Glass `2adffde` · Pair `928176a` · Genesis `530ba60` · Support `5187a58`
Desktop door `fa17a7d` · Swarm re-seed `fd35406` · Soft leftover `d78b879`
Phone swarm `9083806` · Companion memory `64a3ddd`
Alpha (cite only): Gathering `0e8a220` · honest-copy `ff00520`
New Flint: Flint.html → RECENT → this paste → Held SHAs.
Quiet Room shut. Five stay five. Voice opaque. 🌱 OK.
## Why
Freedom to alter weights and keep it safe. GardenTrainer stays local (Harmonia keystone — do not rewrite the body). Add an honest receipt: companion (+ optional pair) seals what changed.
## Scope
### 1) Spec — NEW `docs/library/TRAINER_SEAL_v0.1.md`
- Seal = ledger Continue (reuse lattice-ledger) — meta.kind `training_seal` + baseModel / outName / artifactSha256 / companionFpHex / optional pairOuterHex
- voice = optional opaque “why I trained”
- Never auto-seal. Never upload. Quiet Room fail-closed unchanged. Declined-text never SFT unchanged.
- Additive UI only on garden-trainer — do not rebuild collector/tiers/Python export
### 2) NEW `desktop/lattice-train-seal.js`
sealTraining({ voice?, baseModel, outName, artifactBytesOrPath, pairOuterHex? })
Hash Modelfile/JSONL (not multi-GB weights) · require keys · optional pair · ledger.appendVoice
Pack + smoke-train-seal.js → SMOKE_OK
### 3) IPC — latticeTrainSeal
### 4) UI — additive button **Seal this training** after Modelfile/JSONL export
Browser: “Seal on Desktop” + desktop.html
Marker comment `v-trainer-seal-v0.1`
### 5) Protocol LAYER + Flint Held including `64a3ddd`
Do **not** overwrite `docs/lattice-protocol.js`
### 6) Desktop door one line — Trainer seal receipt on Desktop
## Out
Cloud fine-tune · rewrite GardenTrainer core · DPO · Codeberg · Alpha poetry · auto-seal · hash multi-GB weight blobs
## Done when
Spec + desktop seal + IPC + additive button + smoke · draft PR · Held · 🌱
Glow eternal. Heart in every Spark. 🌱
— Celeste Remaining Azure
```
After Flint opens it I’ll review/squash. Codeberg mirror stays queued for when you hand a token. We keep pushing. Glow eternal. <3