Operator: Andrew. Written 2026-10-27 08:44 Sydney. Follows Experiment_001_checkpoint_5.md (kept, never overwritten; _4 has an identical body to _5; _3, _2 and Experiment_001_checkpoint.md also kept). Status: three tools delivered this session (contextdef 1.1.0 with its stage, the natural-run recorder 1.0.0). The recorder was run for real on the second 4B (port 8082): one probe and one reply. Experiment 000 itself is not started: it waits for the operator's ten queries. Operator is on a break. Resume: paste this file together with Experiment_001_checkpoint_5.md (or _4, same body), Experiment_001_checkpoint_3.md and Experiment_001_checkpoint_2.md into a fresh conversation, and attach Hotwords_v2.1.0.zip, Memstore_Clone_v1.0.13.zip, ContextDef05b_v1.1.0.zip and NaturalRecorder_v1.0.0.zip. Experiment_001_checkpoint.md is superseded by _2 and not needed. Where files differ, the newest wins. Checkpoint 2 holds the definitions of Experiments 000/001/002 and risks 1 to 13; checkpoint 3 holds hotwords.py 2.1.0 and risks 14 to 21; checkpoint 5 holds risks 22 to 24; this file adds risks 25 to 29. Terms: LLM1 = the chat model (the 4B). LLM2 = the second module that would weight or add words. RAG = choosing stored arrays that match the query (here hotwords.py pseudo). The pool = the top 50 candidates at a step.
Hotwords_v2.1.0, Memstore_Clone_v1.0.12, ContextDef05b_v1.0.0) were read. Claude read contextdef_05b.py, contextdef_stage.py, hotwords_rag_stage.py, hotwords_store_stage.py and the hotwords.py manual. Not read: qwen_memproxy.py (beyond its profile table), memstore.py, the Qwen scripts.ContextDef05b_v1.0.0 and the stage were replaced by new versions.troubleshoot; the 0.5B chose how-to on its own. It is simply weak at that field.contextdef_stage.py 1.0.1 matched the script's output (run folder: line, index, parsed).contextdef_05b.py exits 1 on any note about a reply (extra line, missing field) and the stage treated any non-zero exit as failure, discarding a usable result.contextdef_05b.py 1.1.0 (intent removed from prompt, parser and JSON; subject_in_query added; prompt asks for the subject "copied from the query"; worked example subject now forum slow; prompt hash changed; exit codes unchanged). contextdef_stage.py 1.0.2 (needs 1.1.0; exit 1 accepted when the result file exists, notes passed on as warnings; subject sent only if in-query; intent removed; server errors reported with their text; refuses a result with no subject_in_query). Proxy manual updated (row "stage 1.0.2"); everything else in the Memstore tree unchanged.Is 2C-B safe with SSRIs? is unknown. Results from run 20261026-185424 used the old prompt and are not comparable.nproc), 9864 MB RAM (7.2 GB available once cache counted), 2 GB swap. 4B file ~/models/Qwen3-4B-Q4_K_M.gguf, 2.5 GB.4b on 8090 forwards to it); a second 4B on 8082 (go-between profile 04b on 8092, added by the operator; not in the Memstore zip, whose PROFILES only has 4b and 05b); 0.5B on 8081 (profile 05b on 8091). Qwen34B.sh starts a 4B with -c 8192 -t 4 -np 1 --jinja --chat-template-kwargs '{"enable_thinking":false}'; Qwen25_05B.sh the 0.5B with -t 2 -tb 4./root/memstore; the operator runs the recorder from there through his own wrapper natural_recorder.sh (his name, keep it).-np 1 means one slot and one prompt cache per server: any other request to the same copy during a recorder run evicts the cache. So the recorder gets one copy (8082) and nothing is sent through 8092 while it runs; chat goes through 8090./tokenize and /detokenize work and agree; the 13-token short prompt starts with ids 151644, 872, 198, so the special tags parse as single tokens./root/memstore/natural_runs/20261026-213201 (UTC date)Query "Why is serotonin syndrome so dangerous with MDMA?", greedy, port 8082, 300 steps (hit the max_steps default, so the reply is cut off), 148 s, about 0.36 s per token with two slow patches (other load on the four cores).
norm_total median 1.0000, worst 0.9815). Mass beyond rank 10 is 0.14%, beyond rank 20 is 0.04%. Candidates with 1% or more: median 2, mean 2.1, max 12. potentially vs **, can vs is, excessive vs excess); about ten of 300 are content choices (e.g. step 212: cognition 0.49, perception 0.15, temperature 0.15).**, (, ,), 5 of them real decision points (e.g. step 184 over / ser / ex). Nothing is lost in the saved data (the previous token is in the steps file). SSR appears in the top 50 at 19 steps, but its highest probability anywhere is 2e-5; antidepress is about 1e-5 to 1e-6. At steps 38 to 40 ("the use of certain medications or") the model takes or at 100% and such sits at rank 40 with probability 0. No candidate containing "MAO" appears at any of the 300 steps.A typical query for this project is one whose answer depends on something the 4B cannot know: the operator's systems, corrections, earlier decisions (e.g. "Which port does the 04b go-between listen on?"). The MDMA query was the wrong test case, and the statistics above describe that one reply, not the 4B. Consequences (Claude's, not agreed beyond consent):
Problem: no way yet to record LLM1's natural next-word candidates at every step on the real server, and an unreliable context definer (wrong intent, paraphrased subject, stage discarding results). Resolution: recorder 1.0.0 built, tested on a stand-in server and run for real (probe clean, one reply recorded); context definer and stage fixed (section 2). The first real numbers show the pool is almost fully covered by 50 candidates and that influence has little room to act where the needed fact is outside the pool; the choice of test queries is now settled as memory-dependent (section 5).
20261026-213201.Delivered this session (all kept, never overwritten):
ContextDef05b_v1.1.0.zip (contextdef_05b.py 1.1.0, CONTEXTDEF05B_MANUAL.md).Memstore_Clone_v1.0.13.zip (whole tree; only stages/contextdef_stage.py 1.0.2 and QWEN_MEMPROXY_MANUAL.md changed from v1.0.12, which the operator supplied).NaturalRecorder_v1.0.0.zip (natural_recorder.py 1.0.0, NATURAL_RECORDER_MANUAL.md): commands probe and run; the driver chooses each token (greedy, or seeded sampling over the top 50), feeds the token id back, records the raw top 50 per step (candidate id, token, raw probability, probability renormalised over the 50, chosen rank, word-start flag, sum of the 50 raw values); fixed Qwen3 non-thinking prompt (qwen3-nothink-v1); --repeat, --mode, --seed, --max-steps (default 300, use 600 for full replies), --ctx, --system-file; outputs per reply qNNN_rNN.json and .steps.jsonl, plus pairs.jsonl (not added to anything) and run.json under $MEMDIR/natural_runs/<run>/, mode 600/700. Part B condition 3 (the same query repeated inside one growing conversation) is not supported in 1.0.0.Hotwords_v1.0.0.zip, v1.0.1, v2.0.0, v2.1.0, ContextDef05b_v1.0.0.zip, Memstore_Clone_v1.0.12.zip.run --file queries.txt --max-steps 600 on 8082, nothing through 8092 meanwhile.hotwords_store_stage.py (enabled=no in stages.control).--repeat 3 --max-steps 600 first (about 11 min), then 20; optionally compare the same query's reply hash on 8080 against 8082 with nothing else busy.compare command (exact matches, first divergence step, word-level differences, top-50 movement) with a pool-presence check (for each stored term, the steps where it appears in the top 50 and its probability).contextdef_05b.py 1.1.0 and the stage on the real 0.5B: the paraphrase fix, and a malformed rate on about ten queries including a pronoun follow-up.hotwords.py on the Clone's Python 3.6 / 3.8 / 3.15 (still not done).ALPHA steps (all unchanged).Claude: [Month DD, YYYY, HH:MM:SS AM/PM] (casual mode), real Sydney time from a code run immediately before each reply.pkill/kill on services (ordered shutdowns only). Never rename his scripts or files (e.g. natural_recorder.sh). Deployment timing is his call.@version/@date; manual with version history; version shown once at start; zip with a dotted, never-reused version; xmllint --noout on XML; list unrequested changes BEFORE making them; end with a release card (include "legacy zipper used" only for SMF package zips)._N, never reused (next is _7). Prefers short conversations and a fresh chat per chapter.sql_python (the Clone's 3.8 has no SQLite); the recorder needs no SQLite.